我有一个列表多选,这是代码:

<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/

10-14 19:16
查看更多