2013-04-11 146 views
0

我有点奇怪的问题。 我在我的php中获取地点的经度和纬度。 演示经度和纬度都是这样提取经纬度数据时出错

Latitude 20º 24.002' N 

Longitude 87º 18.135' W 

问题是因为º数据不能检索。如何获取º的纬度?

这里是我的查询

$sql = "select * from tbl_site where sit_id =".$_GET[id]; 

获取数据后,我有这样的阵列: -

{"item":{"sit_id":"3","sit_title":"title","sit_image":"img2.jpg","sit_zon_id":"1‌​","sit_access":"Boat","sit_rating":"5","sit_experience":"all divers","sit_latitude":null,"sit_longitude":null}} 

代码,从数据库中获取并解析到JSON:

$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $dbh->prepare($sql); 
$stmt->bindParam("id", $_GET[id]); 
$stmt->execute(); 
$employee = $stmt->fetchObject(); $dbh = null; 
echo '{"item":'. json_encode($employee) .'}'; 
+0

从什么没有回收?另外,请发布代码。你说得越多,帮助就会越容易。 – 2013-04-11 09:39:58

+0

我正在使用服务来获取数据...所以它只是一个简单的查询选择... – Shwet 2013-04-11 09:42:54

+0

'º'不会阻止从数据库中检索数据。你有这个数据在一个字符串变量?如果是这样,你如何解析它? – 2013-04-11 09:44:58

回答

3

首先函数utf8_encode你的PHP代码不是试图用java脚本或字符串解码取代

-2

您可能在这种情况下使用GEOMETRY spatial extention来存储经纬度。可以使用POINT(long,lat)

而且,将您的纬度,经度从度数转换为小数。

所以,你的每一点应该是这样的:

POINT(20.xxxx, 87.xxxx); 
+1

它可能还被保存为十进制度... – 2013-04-11 10:11:02

+0

完全同意。谢谢@MartyMcVry :) – 2013-04-11 10:18:04

+0

“需要”是一个苛刻的词......他可以使用该扩展名,但它并不是绝对必要的工作。 这,顺便说一句,并没有解决OP的问题。 – 2013-04-11 10:21:04