我在选择功能中遇到问题,为什么选择数据显示双重重复数据?希望有人能指导我哪一部分出错了。谢谢。下面是我的编码:<select class="form-control" id="jabatan_yang_akses" name="jabatan_yang_akses" title="jabatan_yang_akses" multiple="multiple" style="display:none;"> <!--<option value="0">Sila Pilih</option>--> <?php $sql_branch = 'select * from singkatan_jabatan'; $arr_branch = db_conn_select($sql_branch); foreach ($arr_branch as $rs_branch) { foreach ($jabatan_yang_akses_selected as $select_jabatan){ if ($select_jabatan == $rs_branch['id']) { $selected = 'selected'; } else { $selected = ''; } echo '<option value="' . $rs_branch['id'] . '" ' . $selected . '>' . $rs_branch['singkatan_nama'] . '</option>'; } } ?></select>输出如下图所示:其实我想要的输出如下图所示:我不确定我是否使用 foreach 两次然后会在选择框中显示重复的数据。
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
问题是您选择所有选项,然后循环选定的选项并输出所有可能选定项目的每个选项(在本例中有 2 个选定项目)。如果您有 4 个选项,则每个选项将输出 4 次。
您只需检查选项 ID 是否在所选项目列表中,即可使用in_array()...
foreach ($arr_branch as $rs_branch) {
if ( in_array($rs_branch['id'], $jabatan_yang_akses_selected) ) {
$selected = 'selected';
} else {
$selected = '';
}
echo '<option value="' . $rs_branch['id'] . '" ' . $selected . '>' . $rs_branch['singkatan_nama'] . '</option>';
}
- 1 回答
- 0 关注
- 121 浏览
添加回答
举报
0/150
提交
取消