我有以下SQL語句從數據庫中選擇公司(使用存儲的緯度/經度)並顯示客戶位置最近的5個位置。這是工作完美:PHP MySQL語句 - 「選擇爲」與「where」
$查詢= sprintf的(「SELECT COMPANY_NAME,地址,電話,傳真, CONTACT_EMAIL,網站,網址,緯度,經度,(1.609344 * 3959 * ACOS(COS(弧度(」 (。「。。))* cos(弧度(緯度))* cos(弧度(經度) - 弧度(''。$ center_lng。''))+ sin( 弧度('」。$ center_lat。 「'))* sin(弧度(緯度))))AS 距離cmsms_module_compdir_companies WHERE status ='published' AND latitude!=''AND longitude!=''ORDER BY distance limit 5」,
mysql_real_escape_string($ center_lat),
mysql_real_escape_string($ center_lng),
mysql_real_escape_string($ center_lat));
但是,我想將結果限制爲僅距離客戶位置X距離內的商店 - 比如50公里。我以爲我可以在下面的粗體加位:
$查詢= sprintf的(「SELECT COMPANY_NAME,地址,電話,傳真, CONTACT_EMAIL,網站,網址,緯度,經度,(1.609344 * 3959個* ACOS (弧度(經度) - 弧度(''。$ center_lng。''))+ sin( 弧度(經度)(弧度(經度))* cos(弧度(緯度))* 弧度')。* sin(radians(latitude))))AS 距離cmsms_module_compdir_companies WHERE status ='published' AND latitude!=''AND longitude!=''AND distance < '50 ' ORDER BY d mysql_real_escape_string($ center_lat),
mysql_real_escape_string($ center_lng),
mysql_real_escape_string($ center_lat));
...但是這根本沒有返回結果。
任何想法?
嘗試:距離<50個 – alditis
@alditis - 我想這一點,沒有什麼區別。 –