レストラン、ホテルなどの結果をリストするMySQLクエリがあります。各行には緯度と経度のデータがあります。
ユーザーが検索した場所からの距離で結果を並べ替える必要があります (ページが読み込まれるとすぐにその緯度と経度が得られます)。
また、2 つの緯度/経度のペアからキロメートル単位で距離を返す php 関数もあります。
distance($lat1,$lng1,$lat2,$lng2);
しかし、この距離でクエリ結果を並べ替えるにはどうすればよいでしょうか?
現時点では、クエリが単純であるとしましょう
mysql_query("select * from merchants");
そこに固執order by distance(latitude,longitude,'$center_lat','$center_long')
すると、エラーが発生しますFUNCTION dbname.distance does not exist
。ページがロードされたらすぐに距離を含む一時的なMySQLテーブルを作成し、それでソートすることを考えましたが、それはやり過ぎのようです。それは...ですか?