我有一个for-each循环,该循环在编辑模式下填充多个select选项标签,我想选择存储在数据库中的选定选项。
数据库中的值在内部爆炸,如下所示:
$f_r = explode(",",$user['field']);
这是我创建的选项:
<?php foreach ($fields as $field) : ?>
<option value="<?= $field['field_name'] ?>" style="direction: rtl" ><?= $field['field_name'] ?></option>
<?php endforeach; ?>
如何从$f_r
值中选择值?
我已经尝试了这段代码,但得到了结果,但是根据数组结果,我的选项标签中的列表已经倾斜:
<select class="selectpicker form-control" name="field[]" id="field" multiple data-live-search="true">
<?php $f_r = explode(",",$user['field']); ?>
<!-- Array ( [0] => נדלן פרוייקטים [1] => נדלן פרטי [2] => נדלן פרטי ומסחרי )-->
<?php foreach ($fields as $field) : ?>
<?php foreach ($f_r as $f) : ?>
<option value="<?= $field['field_name'] ?>" style="direction: rtl" <?php if($f == $user['field']){echo 'selected';} ?> ><?= $field['field_name'] ? </option>
<?php endforeach; ?>
<?php endforeach; ?>
</select>
在没有重复选项的情况下如何使它工作?
答案 0 :(得分:1)
我想您可以使用in_array
。请考虑以下内容:
<?php foreach ($fields as $field) : ?>
<option value="<?= $field['field_name'] ?>" style="direction: rtl" <?php if(in_array($field['field_name'], $f_r)) {echo 'selected';} ?> ><?= $field['field_name'] ?></option>
<?php endforeach; ?>
对不起,语法-不在我的电脑上,但希望您能理解...