使用代码点火器中的下拉列表编辑表单


edit form with drop down in codeigniter

我有要求,我需要编辑表单,在这个编辑表单中,course_name来自其他表,为此有下拉框,我无法从数据库中
获取选定的值我有以下两个表格:-

student table                   
id  name  course_id         
 1  abc      3                   

course table
id  course_name
 1     a
 2     b
 3     c

这是我在模型中编写的查询

$sql = "SELECT students.*,course.id , course.course_name , students.id as students_id
                FROM students,course
                WHERE 
                students.course_id = course.id
                ";         

这是视图部分

<tr>
            <th> course </th>
            <td> 
                <SELECT name="course_name" style="width:180px;" value="<?php echo $list['course_name'] ;?>">
                <?php 
                    foreach($course as $row): ?>
                        <option 
                            <?php  if ($row['course']== $list['course_id'])
                            {
                                echo 'selected';
                            }
                            ?>>
                            <?php echo $row['course_name'];?>
                        </option> 
                    <?php endforeach ?>
                </SELECT>
            </td>
            <td> <?php echo form_error('course_name'); ?> </td>
        </tr>

尝试$row['course_id'] == $list['course_id']

模型

function get_class()
    {
       $class=$this->db->get('class_master');
       return $class->result_array();
    }

控制器

 $data['classes'] = $this->subject_model->get_class();

视图

<?php
                                     $sl_class=$row['class_id'];
                                                                   foreach($classes as $class){
                                        $is_selected='';
                                        if($class['class_id']==$sl_class){
                                            $is_selected='selected';
                                        }
                                ?>
                                        <option value="<?php echo $class['class_id'];?>" <?php echo $is_selected;?>><?php echo $class['class_name'];?></option>
                                <?php
                                    }
                                ?>

输入选择中不需要值属性。假设$list包含$query的结果,您应该尝试:

<?php 
$courses = array_column($course, 'course_name', 'id');
echo form_dropdown('course_name', $courses, $list['id'], 'style="width:180px;"');
?>

并删除所有这些:

<SELECT name="course_name" style="width:180px;" value="<?php echo $list['course_name'] ;?>">
                <?php 
                    foreach($course as $row): ?>
                        <option 
                            <?php  if ($row['course']== $list['course_id'])
                            {
                                echo 'selected';
                            }
                            ?>>
                            <?php echo $row['course_name'];?>
                        </option> 
                    <?php endforeach ?>
                </SELECT>