次のコードは、ユーザーが指定した3つの変数を使用する必要があります。デフォルトでは、これらの変数はすべて0に等しくなります。
- 時間(テキストボックス)
- 都市(ドロップダウンリスト)
- タイプ(ドロップダウンリスト)
たとえば、時間と都市がユーザーによって指定されたが、タイプをゼロにした場合、結果は返されません。私の質問は、ユーザーが時間、都市、タイプ、またはこれらの組み合わせを選択しないことを選択した場合に結果が返されるように、既存のコードを変更する効果的かつ効率的な方法は何ですか?
たとえば、時刻21:00に都市番号3を追加すると、2つの基準を満たすすべてのタイプが一覧表示されます。
$question= 'SELECT * FROM events WHERE ABS(TIMESTAMPDIFF( HOUR , `time`, :time )) < 2 AND city=:city AND type=:type';
$query = $db->prepare($question);
$query->bindValue(":time", $time, PDO::PARAM_INT);
$query->bindValue(":city", $city, PDO::PARAM_INT);
$query->bindValue(":type", $type, PDO::PARAM_INT);
$query->execute();