Php 下拉菜单中的codeigniter表单可用性

Php 下拉菜单中的codeigniter表单可用性,php,forms,codeigniter,validation,drop-down-menu,Php,Forms,Codeigniter,Validation,Drop Down Menu,您好,我是codeigniter framevork的新手,我在表单验证和下拉列表以及保存数据方面遇到了问题 我设法用数据库中的数据填充我的doropdown列表,但是,具有该下拉列表的表单也有其他字段,所以当用户单击submit按钮时,表单中缺少某些内容,或者没有输入该内容的输入方式,那么我就设法“记住”页面上的所有数据,除了下拉列表中的值,我只是不知道该怎么做。 这是我表格的代码: <?php echo form_open("controller_professor/insert_la

您好,我是codeigniter framevork的新手,我在表单验证和下拉列表以及保存数据方面遇到了问题

我设法用数据库中的数据填充我的doropdown列表,但是,具有该下拉列表的表单也有其他字段,所以当用户单击submit按钮时,表单中缺少某些内容,或者没有输入该内容的输入方式,那么我就设法“记住”页面上的所有数据,除了下拉列表中的值,我只是不知道该怎么做。 这是我表格的代码:

<?php echo form_open("controller_professor/insert_labwork"); ?>
<table>
    <tr>
        <td>Course name:</td>
        <td>
            <?php if(isset($records)) { ?>
                    <select name="course_name">
                            <option value="">Course name</option>
                            <?php foreach ($records as $row){ 
                                echo "<option value='".$row->corse_code."'> ".$row->corse_code." </option>";
                            } 
                            ?>
                    </select>
           <?php
            }  else echo"No records were returned!"; ?> 
        </td>
    </tr>

    <tr>
        <td>Lab:</td>
        <td> 
            <select name="lab">
                <option value="" <?php echo set_select('lab', ''); ?> >lab</option>
                <option value="1" <?php echo set_select('lab', '1'); ?> >1</option>
                <option value="2" <?php echo set_select('lab', '2'); ?> >2</option>
            </select> 
        </td>
    </tr>

    <tr>
        <td>List of chosen assistants:</td>
        <td>
            <?php if(isset($records_professors_assistans)){?>
            <select name="chosen_assistants[]" multiple>
                <option value="">Assistans</option>
                <?php
                     foreach ($records_professors_assistans as $row){
                         echo "<option value='".$row->username."'>".$row->username."</option>";
                     }
                ?>
            </select>
            <?php }else echo "No records were returned!";?>
        </td>
    </tr>

    <tr>
        <td><input type="reset" value="Clear form"></td>
        <td><input type="submit" value="Save"></td>
    </tr>
</table>
<?php echo form_close(); ?>
    <?php echo validation_errors('<p style="color:red"></p>'); ?>
我的模型和方法很好用,但如果有人需要在那里看到它们,它们是: 第一个是从db返回所有教授课程:

function professors_classes($username){
    $this->db->where("username", $username);
    $query = $this->db->get("table_teaches_a_course");
    if($query->result()){
        return $query->result();
    }
    else return false;           
}
第二种方法返回:

function professors_assistants($username){
    $query = $this->db->get("table_assistants");  
    if($query->result()){
        return $query->result();
    }else return false;           
}
如果我在这里发布代码时犯了一些错误,或者没有为我的问题提供很好的解释,请告诉我,我会解决它


谢谢所有愿意帮助我的人

为什么在控制器$this->model\u professor->professors\u classes$username中调用两次此函数?第一次调用变量$result,查看我们是否有来自models方法的false,或者我们是否有结果,然后返回它们,第二次从model返回来自相同方法的结果
function professors_classes($username){
    $this->db->where("username", $username);
    $query = $this->db->get("table_teaches_a_course");
    if($query->result()){
        return $query->result();
    }
    else return false;           
}
function professors_assistants($username){
    $query = $this->db->get("table_assistants");  
    if($query->result()){
        return $query->result();
    }else return false;           
}