在javascript var中存储会话var时脚本停止

时间:2013-09-28 17:06:33

标签: javascript php

我从我的数据库中获取~2k个城市名称,我存储在会话变量中,然后我尝试将我的会话变量转换为javascript变量,但我的代码似乎崩溃了

会话变量代码

    $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 to javascript

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

我需要将每个城市名称存储到那种JavaScript var

var availableTags = [];

1 个答案:

答案 0 :(得分:1)

您可以尝试删除引号:

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

如果您想将[["Acme, AB"],["Airdrie, AB"],...]转换为["Acme, AB","Airdrie, AB",...],可以使用类似

的内容
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;

但如果你在另一个问题中提出这个问题,也许有人会回答更好的选择。