首页 > 解决方案 > 如何在codeigniter的选择框中显示数据库中的选定值

问题描述

在这里,我有一个选择框,我想在其中显示以 JSON 格式存储在数据库中的值。如果该值存在,则显示所选值,否则显示默认选项Delete leads选项。它无法正常工作。

<div class="col-md-7">
    <select class="form-control" id="spm" name="spm" required style="">>
        <option value=""> Delete Leads </option>
        <? 
            foreach($slct_optn as $slct_optns)
            {
                $slctoptn = json_decode($slct_optns['spam_management'],1);
                ?>
                <option value="7" <?php if($slctoptn['delete']==7) {?> selected="selected" <? } ?>>1 Week Older</option>
                <option value="30" <?php if($slctoptn['delete']==30) {?> selected="selected" <? } ?>>1 Month</option>
                <option value="60" <?php if($slctoptn['delete']==60) {?> selected="selected" <? } ?>>2 Month</option>
            <? }
        ?>
    </select>

谁能帮帮我吗?

标签: phphtmlsqljsoncodeigniter

解决方案


我认为您可以像这样更改$slctoptn['delete']to$slctoptn[0]['delete']变量:

<div class="col-md-7">
    <select class="form-control" id="spm" name="spm" required style="">>
        <option value=""> Delete Leads </option>
        <? 
            foreach($slct_optn as $slct_optns)
            {
                $slctoptn = json_decode($slct_optns['spam_management'],1);
                ?>
                <option value="7" <?php if($slctoptn[0]['delete']==7) {?> selected="selected" <? } ?>>1 Week Older</option>
                <option value="30" <?php if($slctoptn[0]['delete']==30) {?> selected="selected" <? } ?>>1 Month</option>
                <option value="60" <?php if($slctoptn[0]['delete']==60) {?> selected="selected" <? } ?>>2 Month</option>
            <? }
        ?>
    </select>

这将使用父数组中的唯一数组'delete'$slctoptn


推荐阅读