2010-09-06 7 views
9

MySQL (bảng)thứ tự bảng bởi sự gần gũi với vĩ độ cụ thể/kinh độ (sử dụng MySQL + PHP)

id | url | lat | lng 
---------------------------------- 
1 | x | 44.339565 | -101.337891 
---------------------------------- 
2 | y | 44.150681 | -101.074219 
---------------------------------- 
3 | z | 43.897892 | -100.634766 

những gì tôi muốn làm bây giờ là để danh sách theo họ sống gần với (43,834527, -99,140625) .

$a = mysql_query("SELECT * FROM table ORDER BY proximity DESC"); 
while($b = mysql_fetch_assoc($a)) 
{ 
echo $b['url'].'<br />'; 
} 

Trả lời

11

Bạn có thể quan tâm đến việc kiểm tra ra các bài trình bày sau đây:

Tác giả mô tả cách bạn có thể sử dụng Haversine Formula trong MySQL để tự do gần và giới hạn tìm kiếm của bạn trong một phạm vi được xác định. Ông cũng mô tả cách tránh quét toàn bộ bảng cho các truy vấn như vậy, sử dụng các chỉ mục truyền thống trên các cột vĩ độ và kinh độ.


PDF Version