-3
我想這工作了我的舊的數據庫結構PHP代碼安排記錄按距離
$lat = '-27.560263394765027';
$long = '153.08231055736542';
$query = "SELECT * , ((
ACOS(SIN(".$lat." * PI() /180) * SIN(lat * PI() /180) + COS(".$lat." * PI() /180) * COS(lat * PI() /180) * COS((
".$long." - lon) * PI() /180)) *180/PI()) *60 * 1.1515) AS `distance` FROM `km_stores` HAVING `distance` <=100 ORDER BY distance LIMIT 0 , 10";
下述方法,我試圖採用同樣的原則和最大百公里半徑內找到最近的30家店這次我的數據庫結構完全不同,我需要運行一組sql查詢來獲得所需的輸出。我的查詢是
$select_resname = mysql_query("SELECT * FROM `wp_cf7dbplugin_submits` WHERE `form_name` = 'Add Store' AND `field_name` = 'store-name' LIMIT 0 , 30");
$select_resdesc = mysql_query("SELECT * FROM `wp_cf7dbplugin_submits` WHERE `form_name` = 'Add Store' AND `field_name` = 'store-description' LIMIT 0 , 30");
$select_reslat = mysql_query("SELECT * FROM `wp_cf7dbplugin_submits` WHERE `form_name` = 'Add Store' AND `field_name` = 'store-latitude' LIMIT 0 , 30");
$select_reslong = mysql_query("SELECT * FROM `wp_cf7dbplugin_submits` WHERE `form_name` = 'Add Store' AND `field_name` = 'store-longitude' LIMIT 0 , 30");
while(($fetch_resname = mysql_fetch_array($select_resname)) && ($fetch_resdesc = mysql_fetch_array($select_resdesc)) && ($fetch_reslat = mysql_fetch_array($select_reslat)) && ($fetch_reslong = mysql_fetch_array($select_reslong))){
// Print the output
}
在這種情況下,我該如何按照GEO位置安排記錄?
...什麼是您的數據庫結構? – deceze
聽起來像你想使用['ORDER BY()'](http://www.sql-tutorial.net/SQL-ORDER-BY.asp)和/或['GROUP BY()'](http: //www.sql-tutorial.net/SQL-GROUP-BY.asp) –
@ Fred-ii- GROUP BY?我沒有看到。 !?! – Strawberry