0
我有一個加拿大郵政編碼數據庫和執行我的搜索的腳本。但由於某種原因,我沒有根據郵政編碼搜索得到最近的營地。我在做我的SQL查詢時遇到了問題,因爲當我選擇露營地時,它會顯示範圍內的業務不是最近的。通過郵政編碼找到最近的露營地
當我運行SQL查詢的距離來獲得震盪整理郵政代碼我得到這個PHP
Array (
[N0C 1K0] => 0
[N0C 1G0] => 9.36
[N0C 1L0] => 9.36
[N0C 1E0] => 9.97
[N0H 2S0] => 12.95
[N0C 1H0] => 13.01
[N0G 1R0] => 15.04
[N0C 1B0] => 19.03
[N0G 2A0] => 19.07
[N0H 1C0] => 19.55
[N0G 1N0] => 20.24
[N0C 1J0] => 21.67
[N0G 2L1] => 25.39
[N0G 2L3] => 25.39
[N0G 2L0] => 25.39
[N0H 1R0] => 25.8 campground found
[N0C 1C0] => 25.83
[N0H 2V0] => 27.43
[N0G 1C0] => 29.1
....
[N0G 1A0] => 41.54
[L0N 1G0] => 41.86
[N0G 2J0] => 41.94
[N0G 2V0] => 42.21
[L0M 1P0] => 43.21
[N0H 2P0] => 43.76
[N0G 1Y0] => 44.27
[L0M 1L0] => 44.27
[N0G 2P0] => 44.28 campground found
[L0M 1G0] => 44.48
[N4L 1R4] => 44.49 campground found
)
我想獲得營地細節25.8,但我得到了44.28的一個,幫幫我!
SELECT camp_id FROM campgrounds WHERE postal = '".addslashes($key)."' LIMIT 1;
我應該有ORDER BY嗎? - 我確實嘗試過。但也許在我的查詢錯誤的順序。
首先做一些基本的調試。 '$ key'包含什麼? – 2010-05-13 14:09:47
我正在使用這個PHP CLASS http://www.micahcarrick.com/04-19-2005/php-zip-code-range-and-distance-calculation.html;函數get_zips_in_range 我然後採取的結果,並做一個foreach。 foreach($ getagents as $ key => $ value){} 要回答您的問題,$ key是數組中的郵政編碼,$ value是距離。 我確實使用這個獲得了露營地的結果,我只是不確定如何得到最近的一個,由於某種原因它按照它們在db中的插入順序排序。我也嘗試了幾個ORDER BY,沒有什麼是最近的。 – Tim 2010-05-13 15:29:58
因此給定數組元素的值包含以公里*和*(可選)字符串「找到露營地」的距離?如果你包含你正在使用的foreach循環,也許會有所幫助。 – JYelton 2010-05-13 15:37:53