概述
php从mysql中读取mysql的空间数据,再传给ajax,
我们得到的数据其实是个对象,但是这个对象很烦,如下所示
{"x(site)":"116.2"}
对象的属性是x(site),对象的值是116.2
正常我们在javascript中可以使用 对象.属性 来获取这个值;但是这个属性具有括号,用常规的方法不能得到这个值
一些javascript调用对象的方法:http://www.jb51.net/article/60358.htm
有一种方法可以对他进行处理 ,o=Object.getOwnPropertyDescriptor(latitude[0],"x(site)").value;
Object.getOwnPropertyDescriptor(o,name)
//参数:
//o:一个对象
//name:待查询的属性名
//查询一个属性的特性
//返回对象指定属性的一个属性描述符对象,如果不存在指定属性则返回undefined.
我发现用这个方法进行处理之后,会变成另一个对象,这个对象的value属性就是我们想要的值。
不知道大家有没有什么新的方法,希望有别的方法的求分享。在下面给我评论就好!
php代码如下,javascript中的关键代码就是上面那一句,其他的都很简单
<?php
header('Content-type:text/json;charset=utf-8');
@ $db = mysqli_connect('localhost','root','');
mysqli_select_db($db,'mapdata');//找到数据库mpicture
if(mysqli_connect_errno()){
echo "Error:Could not connect to mysqli database.";
exit;
}
$year=$_GET['year'];
//$p1="SELECT x(geomfromtext(astext(site))) FROM mapdata.$year";
//$p1="SELECT astext(site) FROM mapdata.$year";
$p1="SELECT x(site) FROM mapdata.$year";
$p2="SELECT y(site) FROM mapdata.$year";
$p3="SELECT * FROM mapdata.$year";
$q="SELECT count(*) FROM mapdata.$year";
//echo $q;
$resultx = mysqli_query($db,$p1);//执行$p1的mysql语句,并赋给result
$resulty=mysqli_query($db,$p2);//执行$p2的mysql语句,并赋给result1
$resultinformation=mysqli_query($db,$p3);
$result2 = mysqli_query($db,$q);
$row2 = mysqli_fetch_array($result2);
$information=array(array());
for($i=0;$i<$row2[0];$i++){
$rowx = mysqli_fetch_assoc($resultx);//获取result的一条数据
$rowy = mysqli_fetch_assoc($resulty);//获取result的一条数据
$rowinformation=mysqli_fetch_assoc($resultinformation);
$information[0][$i]= $rowx;
$information[1][$i]= $rowy;
$information[2][$i]= $rowinformation['country'];
$information[3][$i]= $rowinformation['number'];
$information[4][$i]= $rowinformation['firstnumber'];
}
//echo $information[0][0];
$information[5][0]=$row2[0];
echo json_encode($information);
?>
最后
以上就是故意发带为你收集整理的php从mysql中读取空间数据在javascript中调用这个空间数据的值的全部内容,希望文章能够帮你解决php从mysql中读取空间数据在javascript中调用这个空间数据的值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复