2013-09-28 1 views
0

Je reçois le nom de villes ~ 2k de ma base de données que je stocke dans une variable de session, puis j'essaye de convertir ma variable de session en variable javascript mais mon code semble crashScript s'arrêtant lors du stockage d'une session var dans un javascript var

code pour variable de session

$sql = "SELECT nom FROM Villes ORDER BY nbSearch"; 
    try 
    { $resultat = $bd->Select($sql); } 
    catch(Exception $e) 
    { echo $e->getMessage(); } 

    if(count($resultat) != 0) 
     $_SESSION['villeDB'] = $resultat; 

    echo count($resultat)."<br/>"; 

php javascript pour

var availableTags = '<?php echo json_encode($_SESSION['villeDB']) ?>'; 

je dois stocker chaque nom de la ville dans ce genre de JavaScript v ar

var availableTags = []; 

Répondre

1

Vous pouvez essayer des citations suppression:

var availableTags = <?php echo json_encode($_SESSION['villeDB']) ?>; 

Si vous voulez convertir [["Acme, AB"],["Airdrie, AB"],...]-["Acme, AB","Airdrie, AB",...], vous pouvez utiliser quelque chose comme

var temp = []; 
for (var i=0; i<availableTags.length; ++i) { 
    for (var j=0; j<availableTags[i].length; ++j) { 
     temp.push(availableTags[i][j]); 
    } 
} 
availableTags = temp; 

mais si vous demandez dans une autre question, peut-être que quelqu'un répondra à une meilleure option.

+0

Oui c'était ça, merci. Pour le moment, ma variable var AvailableTags contient un élément comme celui-ci: var availableTags = [["Acme, AB"], ["Airdrie, AB"], .. comment puis-je supprimer le second crochet pour obtenir quelque chose comme ceci: = ["Acme, AB", "Airdrie, AB" ...? – seb

+0

@seb Si cela a fonctionné, n'hésitez pas à marquer ma réponse comme acceptée – Oriol

+0

Je ne peux accepter la réponse que dans 3 minutes, dois-je ouvrir un nouveau "ticket" sur mon problème de crochet? – seb