私は曜日と真と偽の間で選択できるフォーム選択を持っています。私はswitch case文を作っていました。私の質問では、水曜を返すことができ、フットボールが正しく0の場合。しかし、平日が水曜日で、サッカーが1の場合、私はまだ0から結果を得ます。2つのSQL要件を持つスイッチケース
私はswitch文を間違って使用していますか?
平日は水曜日または土曜日
サッカーは0または1(0 =偽、1 =真)
HTML
<select name="weekday" class="form-control selectpicker" >
<option value=" ">Select Weekday</option>
<option value="wednesday">Wednesday</option>
<option value="saturday">Saturday</option>
</select>
<select name="football" class="form-control selectpicker" >
<option value=" " >Practice</option>
<option value="1">Yes</option>
<option value="0">No</option>
</select>
PHPすることができ、私たちすることができ
$sql = "SELECT id, weekday, football FROM footballTable";
if(isset($_POST['weekday'], $_POST['football'])) {
switch($_POST['weekday'], $_POST['football']){
case 'wednesday':
$sql .= " WHERE weekday LIKE 'Wednesday' AND football = '0' OR football = '1'";
break;
case 'saturday':
$sql .= " WHERE weekday LIKE 'Saturday'";
break;
}
}
$sql .= " ORDER BY RAND () LIMIT 3";
あなたは 'case 'wednesday':'を2回持っています。最初のものだけが実行されます。 – Barmar
あなたは '$ _POST ['football']'で何もしません。 – Barmar
コメントありがとうございます。私はちょうどコードを更新しました。 0と1の間のORを使用する可能性はありますか? – Mimi