Openlayers通过json数组循环,并以javascript形式输出结果

Openlayers通过json数组循环,并以javascript形式输出结果,javascript,jquery,json,openlayers,Javascript,Jquery,Json,Openlayers,用json存储数据库连接代码的Connection.php文件: <?php $username = "root"; $password = ""; $database = "roadmap"; $url = "localhost"; $con = mysql_connect($url, $username , $password); if (!$con) { die('Could not connect:' . mysql_

用json存储数据库连接代码的Connection.php文件:

<?php
    $username = "root";
    $password = "";
    $database = "roadmap";
    $url = "localhost";

    $con = mysql_connect($url, $username , $password);
    if (!$con) {
       die('Could not connect:' . mysql_error());
    }

    mysql_select_db($database, $con) ;
    $data = array();
    // query your DataBase here looking for a match to $input
    $query = mysql_query("SELECT * FROM students");
    while ($row = mysql_fetch_assoc($query)) {
       $json = array();
       $json['Id'] = $row['Id'];
       $json['Lon'] = $row['Lon'];
       $json['Lat'] = $row['Lat'];
       $data[] = $json;
    }
    header("Content-type: application/json");
    echo json_encode($data);
    mysql_close($con);
?>
目前,这会将json数据拉入数据库,我必须将其用于数据库中零件的每个单独分配,例如数据[0]。lon将获取数据库中第一条记录的经度条目

因为我将与许多参赛者合作。我想循环遍历json数组,然后按如下方式输出所有记录:

addMarker( RECORD 1 );

addMarker( RECORD 2 );

addMarker( RECORD 3 );

有人能帮我吗。

用这样的东西

$.each(data, function(i,row){
  addMarker( row['Lon'],row['Lat'] ,row['desc'])
})

您可以使用$.each循环在json上迭代。。试试这个

试试这个

function(data){

    $.each(data, function(i){

        console.log('Record ' + i + ' : Longitude - ' + data[i].Lon + '  . Latitude  - ' + data[i].Lat + '. Description - ' + data[i].desc    )
    });
}

您可以使用for循环:

$.getJSON("connection.php", function(data) {
  for(var i = 0; i < data.length; ++i) {
    addMarker(data[i].Lon, data[i].Lat, data[i].desc);
  }
  addMarker(-0.13264,51.50918 , );
  addMarker( -0.12498,51.50807 , );
  center = bounds.getCenterLonLat();
  map.setCenter(center, map.getZoomForExtent(bounds) - 1);
  zoom = map.getZoom();
}); 
$.getJSON(“connection.php”,函数(数据){
对于(变量i=0;i
或者像其他答案一样,使用jQuery
每个
函数

$.getJSON("connection.php", function(data) {
  for(var i = 0; i < data.length; ++i) {
    addMarker(data[i].Lon, data[i].Lat, data[i].desc);
  }
  addMarker(-0.13264,51.50918 , );
  addMarker( -0.12498,51.50807 , );
  center = bounds.getCenterLonLat();
  map.setCenter(center, map.getZoomForExtent(bounds) - 1);
  zoom = map.getZoom();
});