使用 php 获取 html 选项中的多个选定值

Get the multiple selected values in the html option with php

我在 HTML 和 PHP 选项中获取多个选定值时遇到问题。

下面是我的编码,我只能在选项中选择1个值来得到下面的编码结果:

如果$jenis_mesyuarat是单值,我可以得到选中的值。如果 $jenis_mesyuarat 是多个值,例如 3,4,9 ,我无法获得多个选定的值。

<select id="pengguna_sambung" name="pengguna_sambung" title="pengguna" class="form-control" multiple>
<?php
$sql_user = 'SELECT * FROM user where is_active=1';
$row_user = base_mysqli_select($sql_connection, $sql_user, $types, $values);
foreach ($row_user as $val_user) {
$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');
echo '<option value="' . $val_user['id'] . '" ' . $selected . '>' . $val_user['name'] . '</option>';
}
?>
</select>

Javascript

$(document).ready(function(){
     $('#pengguna_sambung').multiselect({
      nonSelectedText: 'Pilih ahli-ahli',
      enableFiltering: true,
      enableCaseInsensitiveFiltering: true,
      buttonWidth:'100%'
     });
    });

我试过$selected = ($jenis_mesyuarat == $val_user['id'] ? 'selected="true"' : '');这段代码定义选择值,只能选择单个值,不能选择多个值。

希望有人能指导我如何解决这个问题。谢谢。

试试这样的东西:

$selected = explode(',', $jenis_mesyuarat);
$selected = (in_array($val_user['id'], $selected) ? 'selected="true"' : '')

Note that above is just an example, and it should be further optimized by yourself, like, ensure $jenis_mesyuarat is an array from the beginning (instead of using explode each time you need one).