0

私はcodeigniterを使用しています。これは、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
    });
  }
4

3 に答える 3

3

ajaxの有無にかかわらず使用できます。

resultjson_encode()_を使用して全体をjson形式にするだけで、次のように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>

あなたの質問はあまり明確ではないので、別の意味で質問している場合は、実際の問題に焦点を当てられるように明確にしてください。

于 2012-09-07T20:38:42.290 に答える
0

PHPページを要求するJSコードを取得するには、AJAXを使用する必要があります。PHPページはリクエストを処理し、適切なデータをJSON形式で返します(json_encode()結果オブジェクトで使用)。

于 2012-09-07T20:31:29.587 に答える
0

PHPでJavascriptを出力できます...すべての結果をJSONエンコードしてlocations、次のように変数に保存しませんか?

<?php 
    echo( "<script>" );
    echo( "  var locations = " + json_encode($query->result()) + ";" );
    echo( "</script>" );
?>
于 2012-09-07T20:41:01.233 に答える