javascript with php , for


javascript with php , for

对不起,我的英语不好:)

我的问题是计数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循环中的所有数据。