新手求助如何在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 有其他更方便的方法也请指导一下

如果要描图的话  需要加载 相应的地图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标注
}
}

得到效果 

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-19
json_decode($row_json)后的数据就是你在数据库取到的数据。
转化后的格式和原来一样,为
array(
0=>array(
‘id’=>1,
'name' =>'xxx'
),

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


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

新手求助如何在js上使用ajax接收php读取的mysql数据并输出
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];

jquery如何接收php返回值
如果在php里有echo的值的话,可以用AJAX来接收: 1 2 3 4 5 6 7 8 9 $.ajax({ url: 'test.php', type: 'POST', data: "a=2, success: function(data){ var data = data; alert(data); } }) 就可以在HTML中使用了 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 2 5 mazera...

新手求助:php从数据库取值问题mysql_fetch_assoc()函数的问题
mysql_fetch_assoc会从结果集中取出一行记录,而且资源指针会往下跳,也就是说,再用mysql_fetch_assoc时,会取得新的一行记录,以此类推,每执行一次mysql_fetch_assoc,取一新行,直到取出最后一行,再取时,因为已经没有下一行,就会返回false。综上所述:在你的第一个例子中,$s_as=mysql_fetch_...

js值在同一页面传给PHP
var url = 'adm_mod_ajax.php'; var pars = 'mtype=1&mid=' + 这一句永远都会比JS的先运行。。所以把JS的值传给PHP是不可能的。反过来却X 本回答由网友推荐 举报| 答案纠错 | 评论 0 3 20127820 采纳率:18% 擅长: 暂未定制 其他回答 php是在后台运行,然后生成HTML代码和JS代码,然后输出到前台,...

新手求助!使用autolisp逐行读取数据并画图
你把这个复制到TXT,就好用lisp实现了。

php执行结果如何实时输出并显示在浏览器中? - 技术问答
?? ?sleep(10);??echo $str; 这段代码则会马上在屏幕上打印 Hello world。关键就在于第2和第3行调用的两个函数 ob_flush() 和 flush()。这两个函数得一起使用才能保证页面马上输出Hello world。其中str_repeat(\\' \\', 256)则是为了解决某些浏览器必须在接收到256个字符后才会显示内容。 到技术吧网站...

PHP怎么写可以清空MYSQL数据库中一个表里面的值!
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表...

新手如何学习编程?
2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。3.逻辑思维能力的培养、学程序设计要有一定的逻辑思维能力。“思维能力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是...

用js怎么实现 点击[退出]后 删除cookie 记录???
其他回答 仅仅靠js 是无法实现的,因为产生和删除cookie 要靠服务器端的脚本实现,京东360用的是asp,让JS调用asp ,可以用ajax实现,其实除了asp,还有其他脚本 php,jsp. 天色无双 | 发布于2011-09-15 举报| 评论 0 3 为您推荐: js .all js滑动删除插件 js监听节点点击 js实现数据删除li js 查询...

php中的$_REQUEST()函数怎么用
可以直接 print_r($_REQUEST) 看看效果使用方法:例: $username = $_REQUEST['username'];echo $username; 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论(1) 18 5 chaoxinggsc 采纳率:52% 来自团队:PHP交流者之家 擅长: 其他编程语言 数据库DB 编程语言 办公软件 操作系统\/系统故障 ...

相似回答