Php variable obj to js


Php variable obj to js

我正在使用代码点火器。以下是我在obj数组中查询结果的php代码,然后我如何将它们传递给js。我想在谷歌地图中使用它

    <?php
    foreach ($query->result() as $row)
    {
        $lat = $row->geo_lat;
        $lng = $row->geo_lng;
        $pic = $row->picture;
        echo $lat;
        echo $lng;
        echo "<img src='"" . base_url() . $pic . "'"/><br />";
        //echo json_encode($row);
        //echo "<pre>";
        //echo print_r($row);
    }
?>

Js代码

var locations = ?????????;
var marker, i;
  for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({
      position: new google.maps.LatLng(locations[i][0], locations[i][1]),
      map: map,
      draggable: true
    });
  }

无论是否使用ajax,都可以使用它。

您可以简单地使用json_encode()以json格式获得整体result,并将其添加到js变量中,如:

<script>
    var js_obj=<?php echo  json_encode($result); ?>
  /* now you can access this json object that is in js_obj variable and acccess any thing you want using dot operator.*/
</script>

你的问题不太清楚,所以如果你在问一些不同的问题,请说清楚,这样我就可以专注于实际问题。

您可以用PHP发出Javascript。。。为什么不对所有结果进行JSON编码,并将其存储在locations变量中,如下所示:

<?php 
    echo( "<script>" );
    echo( "  var locations = " + json_encode($query->result()) + ";" );
    echo( "</script>" );
?>

您需要使用AJAX来获得JS代码以请求PHP页面。PHP页面将处理请求,并以JSON格式返回适当的数据(在结果对象上使用json_encode())。