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

Not sure why drop down box is not populating the data or selection

我在使用 codeigniter 中的下拉框时遇到问题。我不确定为什么数据没有填充到我的所有投递箱中,这是我的投递箱之一的示例。

<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>

我对 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>