php - 使用 PHP 从多选下拉列表中获取数据以插入 MySQL

标签 php mysql html

我在数据库中创建了一个天数列表,该天数是使用 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);

目前使用选择框,它只抓取用户选择的其中一天。

最佳答案

首先,你的选择应该有带方括号的名字:

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

这样,当用户选择更多值(选项)并提交表单时,您将收到他选择的一组值。

然后你必须遍历这个数组并插入每条记录:

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

但是您在选择框下的查询告诉我们故事还没有结束...

关于php - 使用 PHP 从多选下拉列表中获取数据以插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534939/

相关文章:

html - 从 CGI 输出中删除不需要的字符

php - 在 Woocommerce 中最后显示缺货产品

php - 插入数组上的 zend db 引号(转义)将引号添加到字符串

php - 使用多个 WHERE 子句在 Codeigniter 中更新批处理

php - 将表单输入与正则表达式进行比较

php - 使用可点击文本为变量赋值

php - 查看javascript生成的html页面的实际html源

mysql - 所有用户在 phpMyAdmin 中都没有权限

mysql - 从所有列的结尾和开头删除非字母数字字符

javascript - 搜索建议 html 输入