0

我对下面的脚本有疑问,如何将 mysql 中的数据显示到 infowindow 中?

显示的数据是 MySQL 中的所有数据。我可以使用以下脚本吗

$sql=mysql_query("SELECT * FROM map WHERE id='$_get[id]'");
while($sq=mysql_fetch_array($sql)){
echo " Name = $sq[name]";
echo " Address = $sq[address]";
}

显示地图?

以上是我的问题脚本:

function ambildatabase(akhir){
if(akhir=="akhir"){
    url = "ambildata.php?akhir=1";
}else{
    url = "ambildata.php?akhir=0";
}
$.ajax({
    url: url,
    dataType: 'json',
    cache: false,
    success: function(msg){
        for(i=0;i<msg.wilayah.petak.length;i++){
            judulx[i] = msg.wilayah.petak[i].judul;
            desx[i] = msg.wilayah.petak[i].deskripsi;
            set_icon(msg.wilayah.petak[i].jenis);

            var point = new google.maps.LatLng(
                parseFloat(msg.wilayah.petak[i].x),
                parseFloat(msg.wilayah.petak[i].y));
            var tanda = new google.maps.Marker({
                position: point,
                animation: google.maps.Animation.BOUNCE,
                map: peta,
                icon: gambar_tanda
            });
            setinfo(tanda,i);

        }
    }
});
}

这是内容的地方:

var infowindow = new google.maps.InfoWindow({
 content: "asdasdasd" 


});

function setinfo(petak, nomor){
google.maps.event.addListener(petak, 'click', function() {
        infowindow.open(peta,petak);
    });

}
4

1 回答 1

0

你有几个问题需要解决:

  1. 您的 php 脚本没有返回有效的 json。您应该将所有数据收集在一个变量中,最后执行类似的操作echo json_encode($your_data);
  2. 您从 mysql 获取的数据与您在 javascript 中使用的变量之间似乎没有关系:您的 javascript 变量名称暗示了您刚刚从数据库获取NameAddress从数据库获取的数组/对象的嵌套结构。如果你希望你的结果包含msg.wilayah.petak[i].deskripsi你需要首先在 php.ini 中生成正确结构的东西。

并且您有一个 sql 注入错误,您应该切换到 PDO(或 mysqli)并使用绑定变量准备语句。

于 2013-01-04T12:59:28.760 回答