不确定为什么下拉框没有填充数据或选择

时间:2015-02-23 16:25:55

标签: php html mysql codeigniter

我在codeigniter中遇到drop box的问题。我不确定为什么我的所有投递箱都没有填充数据,这是我的一个投递箱的示例。

<div class="form-group">
                    <label class="col-sm-7 control-label">Scheduled Area</label><br>
                    <?php $Scheduled_Area=$e->Scheduled_Area; 
                    $db=array('Outbound','Inbound','Claims');?>
                    <div class="col-md-5" >
                        <select name="Scheduled_Area" class="form-control">
                            <?php foreach($db as $d ){ 
                                if($department==$d){    ?>
                                    <option value="<?php echo $d?>" selected="selected"><?php echo $d?></option>
                                <?}else{?>
                                        <option value="<?php echo $d?>"><?php echo $d?></option>
                                <?php }     }?>

                        </select>
                    </div>
                </div>

1 个答案:

答案 0 :(得分:0)

我对CodeIgniter不太熟悉,但您提供的代码与PHP过程编程方法非常相似

我不确定为什么你在那里有以下代码。不确定是否需要诚实?

$Scheduled_Area=$e->Scheduled_Area; 

我认为你的问题在于你的命名数组。它目前是$ db,我会从$ db更改它,因为$ db通常已经在MVC软件包中定义用于数据库目的,它可能导致冲突。尝试重命名它,看看是否有帮助。

此外,在您的代码中没有任何地方定义了$ department,这可能是另一个问题,为什么事情不起作用。

我希望你不要介意,但我已经为你整理了一些代码,这是连接php变量和字符串的好方法。我还大大减少了用于可读性目的的php标签数量:)

<div class="form-group">
    <label class="col-sm-7 control-label">Scheduled Area</label><br>
    <?php
        $Scheduled_Area = $e->Scheduled_Area; 
        $options = array("Outbound","Inbound","Claims");
    ?>
    <div class="col-md-5">
        <select name="Scheduled_Area" class="form-control">
        <?php
            // Define $department here or the 'selected' attribute will not work
            foreach($options as $option){ 
                if($department == $option){
                    echo "<option value='".$option."' selected='selected'>".$option."</option>";
                }
                else{
                    echo "<option value='".$option."'>".$option."</option>";
                }
            }
        ?>
        </select>
    </div>
</div>