对不起,我的英语不好:)
我的问题是计数I在javascript循环代码PHP:
$query3 = " SELECT ID,id_type_Lieux, ID_pere,Libelle,logitude,latitude
FROM LIEU WHERE id_type_Lieux=2 AND ID_pere=".$rowregion['ID'];
$result3 = mssql_query($query3);
$i=0;
while($row3 = mssql_fetch_array($result3)){
$ville = array();
$ville['Libelle']=$row3['Libelle'];
$ville['latitude']=$row3['latitude'];
$ville['logitude']=$row3['logitude'];
$lieuxtype2[$i]= $ville;
$i++;
}
javascript代码var sites=[];
for (var i=0; i < <?php echo $ln; ?>; i++) {
var site=['<?php echo $lieuxtype2[i]['Libelle'] ?>','<?php echo $lieuxtype2[i]['latitude'] ?>'];
sites.push(site);
};
从服务器获得结果后开始执行javascript。Php是服务器端语言,JavaScript是客户端语言,首先你必须理解这一点。如我所见,这段代码
没有任何意义。 var sites=[];
for (var i=0; i < <?php echo $ln; ?>; i++) {
var site=['<?php echo $lieuxtype2[i]['Libelle'] ?>','<?php echo $lieuxtype2[i]['latitude'] ?>'];
sites.push(site);
};
当您试图在客户端脚本中运行服务器端脚本时
正如我在评论中所说的,你不能在PHP中使用JavaScript(没有AJAX,但那是另一回事)。
你可以做的是创建HTML,它将在页面加载时变成JavaScript。
最简单的方法是在PHP中创建这样的JavaScript列表:$query3 = " SELECT ID,id_type_Lieux, ID_pere,Libelle,logitude,latitude
FROM LIEU WHERE id_type_Lieux=2 AND ID_pere=".$rowregion['ID'];
$result3 = mssql_query($query3);
$i=0;
while($row3 = mssql_fetch_array($result3)){
$ville = array();
$ville['Libelle']=$row3['Libelle'];
$ville['latitude']=$row3['latitude'];
$ville['logitude']=$row3['logitude'];
$lieuxtype2[$i]= $ville;
$i++;
}
echo '<script>var sites = '.json_encode($lieuxtype2).';</script>';
上面的脚本将创建一个名为sites
的变量,它包含PHP循环中的所有数据。