我有一个列表多选,这是代码:
<form method="post" action="">
<select name=thematique[] multiple>
<option value="1"> MIE </option>
<option value="2"> Migration </option>
<option value="3"> Réunification familiale </option>
</select>
<button type="submit" class="button" name="categoriser">Catégoriser</button>
</form>
我的问题是,如果我选择 MIE + Migration + Reunification familiale,那么我的数据库中有 3 行用于相同的 ID。
我想要一行插入选择的所有选项(0 1 2 或 3)。
$id_struct=$_POST['id_struct'];
$thematique=$_POST['thematique']);
foreach($thematique as $item) {
$string= $item.' ';
echo $string;
$bdd->exec("INSERT INTO categorisation SET id_thematique=$string
WHERE id_struct=$id_struct");
}
PS:id_thematique 是外键。
最佳答案
1)
您需要在选择框中添加 VALUE
属性。
2) 不要把 INSERT query
当作 UPDATE query
您的选择框
<select name=thematique[] multiple>
<option value="MIE"> MIE </option>
<option value="Migration"> Migration </option>
<option value="Reunification_familiale"> Reunification familiale </option>
</select>
用于插入三个单独字段的 php 文件
<?php
foreach ($_POST['thematique'] as $thematique)
{
///your insert code//
$bdd->exec("INSERT INTO categorisation (`thematique`) VALUES ('".$thematique."'");
}?>
关于php - 如何插入多个选择的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32306345/