1

私は2つのテーブルを持っています。1 つは企業とその住所のリスト、もう 1 つは郵便番号と経度と緯度のリストです。半径を確認するために、郵便番号とマイル数を受け入れるフォームがあります。

すべての半径のものは、私がオンラインで見つけたスクリプトから機能します。私が必要としているのは、半径内にある企業のエントリをエコーすることです。

これまでのところ、2つのクエリがあります。1つはデータベース内のすべてのエントリの郵便番号を取得し、もう1つはフォームに入力した範囲内のすべての郵便番号を取得します

私はarray_intersectを使用して一致するものを見つけています。私の問題は、最初に見つかったエントリのみを返すことです。これを行うにはwhileループが必要だと確信していますが、その方法がわかりません。

コードスニペット:

     $insideRadius = array_intersect($data, $zipArray);

$data は、ビジネス テーブルのすべての郵便番号です。$zip 配列は、範囲内のすべての郵便番号です。

4

1 に答える 1

2

$ zipArrayに郵便番号が記載されている企業を選択することはできませんか?

"SELECT * FROM business WHERE zipcode IN (" . implode(",", $zipArray) . ")"

PHPでは、次のように実行できます。

$result = mysql_query("SELECT * FROM business WHERE zipcode IN (" . implode(",", $zipArray) . ")");
while ($row = mysql_fetch_assoc($result))
{
    echo $row["name"] . "<br />";
    echo $row["zipcode"] . "<br />";
} 
于 2012-07-23T19:37:29.383 に答える