SQL テーブルに列Title
、Price
がYearsOld
あり、html ページの入力フォームを使用して一致する結果を検索したいとします。
ユーザーが希望する入力フォームを空白のままにしておくことができるようにしたいと考えています。したがって、すべてのフィールドを空白のままにすると、すべてのエントリが返されます。Title
空白のままにして a を入力するとmaxPrice
、タイトルに関係なく、maxAge
価格と年齢がmaxPrice
andより低いすべてのアイテムが表示されます。maxAge
if ステートメントを使用して、空白/非空白フィールド エントリのすべての組み合わせを考慮する必要がありますか? または、これを行うより良い方法はありますか?
たとえば、次のようなコードは避けたいと思います。
if($_POST['titleSearch' == "") {
if($_POST['maxAge'] == NULL) {
if($_POST['maxPrice'] == NULL) {
$query = $conn->prepare("SELECT * FROM table");
}
else if($_POST['maxAge'] != NULL) {
if($_POST['maxPrice'] == NULL) {
$query = $conn->prepare("SELECT * FROM table
WHERE age < $_POST['maxAge'])";
}
# etc etc etc
}
}
どんな助けでも大歓迎です、ありがとう!