$link = @mysql_connect("{$host}:{$port}",$user,$pwd,true);
if(!$link) {
die("Connect Server Failed: " . mysql_error($link));
}
if(!mysql_select_db($dbname,$link)) {
die("Select Database Failed: " . mysql_error($link));
}
$Location_X=39.96;
$Location_Y=116.30;
//这里定义度
function rad($d)
{
return $d * 3.1415926535898 / 180.0;
}
//这里定义计算公式
function GetDistance ($X,$Y,$_X,$_Y){
$EARTH_RADIUS = 6378.137;
$a = rad($X) - rad($_X);
$b = rad($Y) - rad($_Y);
$s = 2 * asin(sqrt(pow(sin($a/2),2) +
cos($X)*cos($Y)*pow(sin($b/2),2)));
$s = $s *$EARTH_RADIUS;
$s = round($s * 10000) / 10000;
return $s;
}
//从数据库中查询我的经纬度
$sqla="select a from db";//a是我数据库里的精度字段
$querya=mysql_query($sqla,$link);
while ($X=mysql_fetch_row($querya)){
$arrx[]=$X;
}
$sqlb="select b from db";//b是我数据库里的纬度字段
$queryb=mysql_query($sqlb,$link);
while ($Y=mysql_fetch_row($queryb)){
$Y;
}
$d= GetDistance ($arrx,$arry,$Location_X,$Location_Y);
print_r($d);
mysql_close($link);
?>
以上是通过一组指定的经纬度,和我数据库中已有的经纬度依次进行计算的代码,单独输出$arrx和$arry都没问题,但是调用GetDistance函数后,没有返回计算结果,也没有报错,到底错在什么地方啊?请各位指点!谢谢!
不好意思,粘贴过来出了点问题,
while ($Y=mysql_fetch_row($queryb)){
$Y;
}
这里应该是:
while ($Y=mysql_fetch_row($queryb)){
$arry[]=$Y;
}
程序中书写正确,我这里是粘贴出错了。
请各位帮忙看看
展开