2014-03-06 91 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"; 
相關問題