HTML 和 PHP select 多个

HTML and PHP select multiple

当我的网站上有人选择定期服务时,它还必须选择执行的日期。因此,我使用此代码选择一个或多个工作日:

<select class="form-control select2" name="tyzden[]" multiple="multiple" data-placeholder="Zvoľte deň" style="width: 100%;">        
  <option value="Cely">Celý týždeň</option>
  <option value="Pondelok">Pondelok</option>
  <option value="Utorok">Utorok</option>
  <option value="Streda">Streda</option>
  <option value="Štvrtok">Štvrtok</option>
  <option value="Piatok">Piatok</option>
  <option value="Sobota">Sobota</option>
  <option value="Nedeľa">Nedeľa</option>
</select>

<input style="width:97.3%; margin-left:15px;" type="submit" name="pridat" value="Pridať odvoz">

这是一个 PHP 代码:

if(isset($_POST['pridat'])) {
  $tyzden = $_POST['tyzden'];
  foreach ($_POST['tyzden'] as $a) {
    $zapis = mysql_query("INSERT INTO odvozy SET tyzden='$a';");
  }
}

在 phpMyAdmin 上,我只看到最后选择的选项。你能帮忙吗?

您似乎将 name='tyzden[]' 指定为 html 中的数组条目。 这实际上意味着您的数组格式如下:

$_POST['pridat'] = array(
    "tyzden" => array(
        "0" => array([selected inputs here])
    )
);

通过将 html select 的名称简单地设为 name='tyzden',您将得到一个格式如下的数组:

$_POST['pridat'] = array(
    "tyzden" => array(
        [selected inputs here]
    )
);

这将使您的 php 代码按预期工作。