PHP 検索ページでは、SQL クエリを使用して、設定された基準に基づいてプロパティを検索します。以下の例では、通り「Harrison Road」が選択されています。
search.php?city=1&rooms=3&rooms_upper=7&price_lower=55&price_upper=100&streetname=Harrison%20Road
通り名を空白のままにして、以下のようにすべてのレコードを選択する方法を探しています。
search.php?city=1&rooms=3&rooms_upper=7&price_lower=55&price_upper=100&streetname=
SELECT ALL を指定するために、他の SQL コマンドと同様に ' * ' 記号を使用しようとしましたが、このインスタンスでは機能しません。
問題は、ストリートオプションが空白のままになっていると検索結果が表示されないことです。
空のストリート基準で検索を実行しようとしている理由は、ユーザーがページのドロップダウン オプションを使用して特定のストリートを選択する前に search.php が読み込まれるためです。
指定された最初の基準を使用して、すべてのレコードを検索したいと思います:rooms、rooms_upper、price_lower、price_upper
ユーザーが特定の 'streetname' を指定して検索条件を絞り込む前にすべてのレコードを表示するために、標準の検索ページの読み込みは可能な限り広い検索条件 (3 < 部屋 < 7 ) および (£55 < 家賃 < £75) で残されています。必要に応じて。
どうもありがとう!ジャンクロード
完全な SQL は次のとおりです。
$sql=mysql_query("SELECT main_table.housenumber, main_table.housenumber, main_table.streetname,
max(main_table.rent) AS reviews_rent, main_table.rooms AS reviews_rooms,main_table.average,
houses.houseID, houses.path, houses.rooms AS houses_rooms,houses.rent AS houses_rent
FROM main_table
LEFT JOIN houses ON main_table.housenumber = houses.housenumber
AND main_table.streetname = houses.streetname
WHERE main_table.streetname='$page_streetname'
AND main_table.city=$city
AND main_table.verify='1'
AND main_table.rooms>='$rooms'
AND main_table.rooms<='$rooms_upper'
AND main_table.rent>=$price_lower
AND main_table.rent<=$price_upper
GROUP BY main_table.housenumber, main_table.streetname
ORDER BY average DESC, houseID DESC, reviewID DESC;");
WHERE 句に通り名を残したいが、空欄のままで検索を制限したくない。