我有 2 个表,第一个是邮政编码和类别,第二个是邮政编码、纬度和经度。现在我想搜索...在我转到我的问题
Table1 (uk_data)
comp_post_code cat1 cat2之前听到的是表格格式
表2 (uk_pc)
邮政编码 纬度 经度
现在我想通过成本代码搜索 cat1 和 cat2 ......我已经做了......在这里
SELECT * from uk_data where
cat10 like :comp_post_code AND (
cat1 like :cat OR
cat2 like :cat)
这给了我这个邮政编码上的结果,但现在我想搜索 5 个地雷和 10 英里区域内的项目,我该怎么做?
我知道如何计算邮政编码之间的距离,但这里是代码
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
但不知道我怎样才能让这个循环到小鸡表 2 以获得 5 或 10 英里的结果......请帮助