我在選擇功能中遇到問題,為什么選擇數據顯示雙重重復數據?希望有人能指導我哪一部分出錯了。謝謝。下面是我的編碼:<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 關注
- 194 瀏覽
添加回答
舉報
0/150
提交
取消