-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