我从我的数据库中获取~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 = [];
答案 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;
但如果你在另一个问题中提出这个问题,也许有人会回答更好的选择。