新手求助如何在js上使用ajax接收php读取的mysql数据并输出

高分请讲解下,新手求助如何在js上使用ajax接收php读取的mysql数据并输出?

小弟基本是纯web开发新手,被拉去实现一个地图项目的数据库连接
我用php连接好了数据库代码如下
$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password)
or die("Could not connect: ".mysql_error());
// 从表中提取信息的sql语句
$strsql="select * from point";
// 执行sql查询
$result=mysql_db_query($mysql_database, $strsql, $conn);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$row_json = json_encode($row);
exit($row_json);
我要读取的是mysql数据库point表中的lnglat(经纬度数据),然后发送到js中去,然后在js调用new BMap.Point()函数将我php读取到的数据库里的坐标按主键id顺序分别打在地图上。想请教一下如果用ajax的话,在js部分的代码该怎么写啊?不是很清楚php函数读取数据库后的数据形式以及转化为jason后的影响,求大神帮忙orz 有其他更方便的方法也请指导一下
最新回答
揉揉肚子

2024-06-01 07:53:46

如果要描图的话  需要加载 相应的地图api 库    怎样描点要根据 api的格式 比如 , 我用baidu 的api  需要的是数组格式 

那么代码 是这样的 

function getGps_msg(cur_date){
var rt_array=new Array();
cur_phone_no=$("#user_list").val();
$.ajax({
type:"get",
url:"json_gps.php",
async:false,
dataType:"json",
data:{cur_date:cur_date,phone_no:cur_phone_no},
success: function(msg){
  for (var i=0;i<msg.length;i++){
rt_array[String(i)]=msg[i];
}
}
});
return rt_array;
}

 得到你一个描点的数组了. 再去描点

function drawPion(data_arr){
//var data_arr=getGps_msg();
//alert (data_arr);
bm.clearOverlays();
var cx=data_arr['0']['longitude'];
var cy=data_arr['0']['latitude'];

bm.centerAndZoom(new BMap.Point(cx,cy),18);
var dianshu=0;
for (var i=0;i<data_arr.length;i++){
var  msg=data_arr[i]['rec_time'];
var   lab_msg="";
  var   xx= data_arr[i]['longitude'];
  var   yy= data_arr[i]['latitude'];
  //alert (i);
var markergps = new BMap.Marker(new BMap.Point(xx,yy));
//bm.addOverlay(markergps,i); //添加GPS标注
if (dianshu==9){
bm.addOverlay(markergps,i); //添加GPS标注
dianshu=0;
}else{
dianshu++;
}

if(i==0){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy));
bm.addOverlay(markergps,i); //添加GPS标注
lab_msg="最后位置";
}
if(data_arr[i]['img_file_path']!==""){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy));
bm.addOverlay(markergps,i); //添加GPS标注
lab_msg+="[图]";
var sContent ="<img style='float:right;margin:4px' id='imgDemo"+i+"' src='"+data_arr[i]['img_file_path']+"' width='320' height='240' title="photo"/>";
 addClickHandler(sContent,markergps);
}
if (i==data_arr.length-1){
//var markergps = new BMap.Marker(new BMap.Point(xx,yy));
bm.addOverlay(markergps,i); //添加GPS标注
lab_msg="开始位置";
}

var labelgps = new BMap.Label(i+lab_msg,{offset:new BMap.Size(20,-10)});
markergps.setLabel(labelgps,i); //添加GPS标注
}
}

得到效果 

遗心遗梦遗快乐

2024-06-01 05:21:35

json_decode($row_json)后的数据就是你在数据库取到的数据。
转化后的格式和原来一样,为
array(
0=>array(
‘id’=>1,
'name' =>'xxx'
),

1=>array(
‘id’=>2,
'name' =>'xxx1'


光取出并输出我会 ,但是你说打在地图上我不清楚啊