您的位置:首页 > Web前端 > JavaScript

php从mysql中读取空间数据在javascript中调用这个空间数据的值

2016-09-22 10:09 417 查看
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);

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: