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);

目前使用选择框,它只抓取用户选择的日期之一。

4

2 回答 2

4

首先,您的选择应该有方括号的名称:

<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 回答