2010-12-11 47 views
2

我正在閱讀http://code.google.com/apis/maps/articles/phpsqlsearch.html以獲取SQL/Math。我寫了一個小小的PHP腳本,但沒有得到任何結果。Php附近的地方腳本幫助

<?php 
$db_host = "localhost"; 
$db_username = "root"; 
$db_pass = ""; 
$db_name = "places"; 

mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql"); 
mysql_select_db("$db_name") or die ("no database"); 

$lat = "37"; 
$lon = "-122"; 
$radius = "25"; 
$sql = mysql_query("SELECT id, name, (3959 * acos(cos(radians('$lat')) * cos(radians(lat)) * cos(radians(lng) - radians('$lon')) + sin(radians('$lat')) * sin(radians(lat)))) AS distance FROM markers HAVING distance < '$radius' ORDER BY distance LIMIT 0 , 20") or die("error"); 

$nearby_check = mysql_num_rows($sql); 
if ($nearby_check > 0) 
{ 
    while($row = mysql_fetch_array($sql)) 
    { 
     $name = $row["name"]; 
     echo $name . '<br />'; 
    } 
} 
else 
{ 
    echo 'No Places found nearby'; 
} 
?> 

數據庫結構和數據與Google代碼文章中的相同。

這就是我的PHP腳本。它出什麼問題了?我想這可能是一個SQL問題。不太確定。這篇文章是從2008年1月份開始的,所以也許東西改變了?

+1

你什麼錯誤? – 2010-12-12 00:06:34

+0

它只是沒有找到附近的地方。不知道怎麼回事。我用更多的信息更新了這篇文章。 – Keverw 2010-12-12 00:35:22

+0

嗯,不知道。你有沒有嘗試擴大半徑?將它設置爲2000以查看是否有任何內容出現? – 2010-12-12 00:50:38

回答

1

http://www.geonames.org/export/

使用geonames.org得到你想要的東西。那就是靠近地方。

該服務器從未關閉。我一直在檢查這個很長一段時間不像http://webservicex.net

您可以在JavaScript以及PHP中使用它。

http://booking.com正在使用類似的服務顯示酒店,機場等附近的酒店。

我一直在爲我的一個項目使用此服務。

geonames提供了一個數據庫轉儲,他們希望定期更新它。

你可以在他們的網站找到更多的信息。

http://www.geonames.org/export/web-services.html

http://forum.geonames.org/gforum/posts/list/499.page