1

データベースにデータ型で作成された日のリストがありますSET

SET('Mon','Tue','Wed','Thr','Fri','Sat','Sun')

複数選択ドロップダウンを使用して、ユーザーがデータベースに入れる複数の日を選択できるようにしたいと思います。

<select name='days' id='days' size=4 multiple>
<option name=Mon value=Mon> Mon </option>
<option name=Tue value=Tue> Tue </option>
<option name=Wed value=Wed> Wed </option>
<option name=Thr value=Thr> Thr </option>
<option name=Fri value=Fri> Fri </option>
<option name=Sat value=Sat> Sat </option>
<option name=Sun value=Sun> Sun </option>
</select>

このドロップダウンからデータを取得してmysqlクエリに挿入するにはどうすればよいですか?

現在、私のクエリは次のようになっています。

$sql2 = " UPDATE tblFacilityHrsDateTimes SET `startEventDate`='{$_POST['startEventDate']}',`endEventDate`='{$_POST['endEventDate']}', `startTime`='{$_POST['startTime']}',`endTime`='{$_POST['endTime']}',`recurrence`='{$_POST['recurrence']},`finalDate`='{$_POST['finalDate']}' WHERE `id` = '$id' "; $mysqli->query($sql2) or die($mysqli->error);

現在、選択ボックスはそのままで、ユーザーが選択した1日のみを取得します。

4

2 に答える 2

4

まず、selectには角かっこで囲まれた名前を付ける必要があります。

<select name='days[]' id='days' size=4 multiple="multiple">

このように、ユーザーがさらに値(オプション)を選択してフォームを送信すると、選択した値の配列が表示されます。

次に、この配列をループして、各レコードを挿入する必要があります。

foreach($_POST['days'] as $k => $v) {
    // here do the INSERT query with value $v
}

しかし、選択ボックスの下のクエリは、これが話の終わりではないことを示しています...

于 2012-05-10T13:29:56.230 に答える
1
foreach ($_POST['days'] AS $key => $value) {
  // INSERT ... where $value is one of the values
}
于 2012-05-10T13:30:39.997 に答える