我很难找到解决问题的方法。我写了一个应用程序,它以一种形式询问地址并通过PHP向mysql数据库发送请求。这是APP代码的摘录:
HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT=latitude_home&PLONG=longitude_home");
正如您所看到的,我向PHP页面发送了两个参数:Latitude和Longitude,它们是两个DOUBLE变量。
PHP代码如下:
$R_latitude = $_REQUEST['PLAT'];
$R_longitude = $_REQUEST['PLONG'];
$latitude = floatval($R_latitude);
$longitude = floatval($R_longitude);
$con = mysql_connect(server,database,password);
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con);
$i=mysql_query("SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`Lat`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Lat`*pi()/180)) * cos(((".$longitude."- `Lon`) * pi()/180))))*180/pi())*111.18957696) as distance FROM `Table` ORDER BY distance ASC LIMIT 10",$con);
我认为我得到的结果是距离感兴趣点的距离,但我得到的代码是错误的顺序,而如果我使用纬度和经度的固定值,一切都很好:< / p>
// $latitude = floatval($R_latitude);
// $longitude = floatval($R_longitude);
$latitude = 45.4283585;
$longitude = 10.9669789;
这里有什么问题?有人能帮忙吗? 非常感谢新年快乐!
答案 0 :(得分:-1)
对不起伙计们......我犯了一个非常愚蠢的错误......而不是
`HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT=latitude_home&PLONG=longitude_home");`
我应该做的:
`HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT="+latitude_home+"&PLONG="+longitude_home+"");`