我有一个multiple="multiple"
的选择标记。用户可以选择多个值。
<label for="aoi">Area of Interest:</label>
<select id="sel_aoi" name="aoi" multiple="multiple">
<option value="hr-executive">HR Executives</option>
<option value="sr-manager">Sr. Manager</option>
<option value="service-advisor">Service Advisor</option>
<option value="production">Production Engineer</option>
<option value="mechanical">Mechanical Engineer</option>
</select>
如何在MySQL数据库的单个字段中存储这些多个选定值?
答案 0 :(得分:4)
将其存储到数组中,并使用逗号分隔将值保存到数据库。
<label for="aoi">Area of Interest:</label>
<select id="sel_aoi" name="aoi[]" multiple="multiple">
<option value="hr-executive">HR Executives</option>
<option value="sr-manager">Sr. Manager</option>
<option value="service-advisor">Service Advisor</option>
<option value="production">Production Engineer</option>
<option value="mechanical">Mechanical Engineer</option>
</select>
process.php
$aoi = implode(',', $_POST['aoi']);
答案 1 :(得分:0)
当你从$_POST
获取你的值时,用mysql插入它们会插入多个这样的值:
insert into myTable
(someColumn, someOtherColumn)
values
(someValue1, someOtherValue1),
(someValue2, someOtherValue2),
(someValue3, someOtherValue3)
编辑:如果你想在一行中使用像PHP implode():
这样的东西$qry="insert into mytable (someColumn) values (".implode(',',$myArray).")
并不是说你想确保$myArray
变量清除任何可能SQJ注入攻击你数据库的东西。准备好的陈述将是一个建议。