郵便番号に基づいてデータベースから劇場を検索するテーブルがあります。現在、このクエリを使用して結果を並べ替えていますが、正確に一致した場所を最初に取得し、次に while ループで近くの場所を取得したい方法はありますか?検索しましたが、すべてこの検索を実行するには緯度と経度が必要であることを示していますが、現時点ではそのような情報をデータベースに保存していません。ご意見をお聞かせください。
if($_GET['zip'])
{
$zip_get= trim($_GET['zip']);
$zip_three=substr($zip_get, 0, 3);
$theatre_query= mysql_query("select * from (Select *,(CASE WHEN zip = '$zip_get' THEN 2 ELSE 0 END + CASE WHEN zip < $zip_get THEN 1 ELSE 0 END ) as nummatches from theatre ) where nummatches>0 and campaign='$camp' and zip LIKE '".$zip_three."%' order by nummatches desc, zip desc");
}