このクエリは、郵便番号ごとにアイテムのリストを生成します。
$ziparrayimplode = implode(",", $ziparray);
$listingquery = "SELECT * FROM listings WHERE (CONCAT(title, description) LIKE '%".$searchstring."%') AND auc_cat LIKE '%".$category."%' AND zip IN ($ziparrayimplode) AND all_zip=$allzip ORDER BY list_ts DESC $pages->limit";
$listinghistory = mysql_query($listingquery) or die(mysql_error());
all_zip=$allzip の WHERE ステートメントで「AND」を使用すると、all_zip に該当するすべてのアイテムが表示されますが、$ziparray 内のアイテムは表示されません。WHERE ステートメントで「OR」を使用すると、$ziparray に該当する項目と $allzip が含まれますが、検索機能がまったく機能しません。
このクエリの言い回しは正しいですか、それとも WHERE ステートメントで "OR" を使用して、検索のコーディング方法の問題を探す必要がありますか?