Q:

Passar duas variáveis na url em javascript

Eu tenho um website que possui 5 idiomas diferentes e ao escolher um idioma o texto da página muda!  Pra isso eu fiz uma função:
<script type="text/javascript">
function submitForm() {
    var thelang = document.getElementById('lang').options[document.getElementById('lang').selectedIndex].value;
    window.location.href = window.location.pathname +'? lang=' + thelang;
}
</script><br/>

O problema é que agora eu tenho dois id diferentes para essa página, e gostava de saber como integro nessa função também o id.
Por exemplo o url deveria ficar mais ou menos assim:
localhost:8080/.../index.php?id=1&&lang=pt, mas como não consegui passar o idpara a varíavel, agora as páginas deixaram de traduzir.  O id eu busco via GET 

if (isset($_GET['id']) && ! empty($_GET['id'])) 
{
    $id=$_GET['id'];
$id=mysqli_real_escape_string($link,$id);
    $query="SELECT * FROM local where local_id='".$id."'"; 
    $result=mysqli_query($link,$query);

    while ($row=mysqli_fetch_array($result)) {

        if ($row['local_id'] == 1)
        {
            ? > //AQUI FICA O HTML <? php } ? >

Os idiomas são escolhidos através de um select, o que está a acontecer é que já não dá mais para carregar, só consigo atualizar a página manualmente, mudando no URL...

A:

Usa esta função de ajuda para adicionar/alterar valores da querystring.  
Tentei comentar para perceberes o que está a acontecer em cada passo, mas se tiveres dúvidas, estás a vontade para perguntar. 
function updateQuerystring(whatKey, newValue) {
    var exists = false; // vamos usar para ver se a chave já existe na querystring
    var qs = []; // a futura querystring (é um array, mas vamos tornar num string no fim)
    var __qs = window.location.search || ""; // a querystring actual ou uma string vazia, já deve ser caso nao exista, mas só para o caso..
    var _qs = __qs.substring(1).split("&"); // substring(1) remove o "?"  do inicio e split("&") transforma num array, separando a string nos "&"

    for (var idx in _qs) { // por cada combinacao "chave=valor" na querystring
        var _kv = _qs[idx].split("="); // _qs[idx] é algo tipo "chave=valor" entao usamos split("=") para separar novamente
        var _key = _kv[0]; // 0 = chave
        var _value = _kv[1]; // 1 = valor

        if (_key === whatKey) { // se a _key for a que queremos alterar (a que foi passada a esta funcao), alteramos entao o valor
            _value = newValue;
            exists = true;
        }

        // metemos no tal novo array pra querystring, se for encontrado no if acima, entao _value vai ser o novo valor
        qs.push(_key + "=" + _value); // 
    }

    if (! exists) { // se nao encontramos durante o ciclo acima, entao adicionamos uma nova com os valores passados
        qs.push(whatKey + "=" + newValue);
    }

    // aqui retornamos (duh :P)
    return "?"  + qs.join("&"); // juntamos o novo array com '&' e ficamos com uma string que podemos usar como querystring
}

Depois na tua função, podes chamar esta e pedir para actualizar o parâmetro lang com o que recebeste do <select>
function submitForm() {
    var thelang = var thelang = document.getElementById('lang').options[document.getElementById('lang').selectedIndex].value;
    var newquerystring = updateQuerystring("lang", thelang);
    window.location.href = window.location.pathname + newquerystring;
}

