在codeigniter中下拉编辑表单

时间:2014-12-24 07:10:20

标签: php sql 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>

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

型号

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

答案 2 :(得分:0)

输入选择中不需要value属性。 假设$ 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>