为了账号安全,请及时绑定邮箱和手机立即绑定

select 函数显示重复数据

select 函数显示重复数据

PHP
皈依舞 2023-08-11 17:15:16
我在选择功能中遇到问题,为什么选择数据显示双重重复数据?希望有人能指导我哪一部分出错了。谢谢。下面是我的编码:<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>';

      }


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信