2014-03-06 53 views
0

我想要一个带有两个字段的搜索表单,一个用于邮政编码,另一个用于英里(半径)的距离。因此,无论何时输入邮政编码和半径,都应搜索该邮政编码半径内的所有邮编。例如,如果我输入邮编10001且距离为3英里,则此表单应搜索10001半径3英里附近的所有邮编。谢谢如何搜索给定半径的邮编中的所有点?

回答

0

如果你能找到邮政编码(经度,纬度),那么你可以尝试如下:

"SELECT *,(3959 * acos(cos(radians({$lat})) * cos(radians(`latitude`)) * cos(radians(`longitude`) - radians({$lng})) + sin(radians({$lat})) * sin(radians(`latitude`)))) AS distance 
FROM `open_stores` HAVING `distance` <= {$radius} ORDER BY distance ASC"; 
相关问题