如何从下拉列表中显示所选值

时间:2015-04-05 14:21:51

标签: php codeigniter select

我有一个包含3列的表格。第一个是学生的名字。第二列是下拉列表,其中应该选择从第一列教导该学生的教师,此下拉列表中的其他值应该是其他教师,它可以更改教师。第三列是提交按钮 - 保存更改(如果你改变了这名学生的老师)。我使用"selected=selected",但它在所有行中仅选择一位教师,而不依赖于db.Here中的内容:

foreach ($students_show as $row)
{

?>
<tr>
<td>
    <?php echo $row->username; 
</td>
<?php
echo "<select name = 'add_teacher[]' >";
    foreach($teachers_show as $row) 
    {

        ?>
        <option value= '$row->username '
        <?php echo $row->username == $row->username  ? 'selected="selected"' : '' ?>><?php echo $row->username ; ?></option>


    <?php 
  } 
    echo "</select>";
    ?>
    </td>

我的模特是:

public function stdents_show()
    {
        $this->db->select('*');
        $this->db->from('users');
        $this->db->where('role_id', '2');
        $result=$this->db->get();
            return $result->result();
    }
       public function teacher_show()
    {

        $this->db->select('teacher_id, users.username');
        $this->db->from('teacher_conn');
        $this->db->distinct('teacher_id');
        $this->db->join('users', 'users.user_id=teacher_conn.teacher_id');

        $result=$this->db->get();
            return $result->result();
    }

1 个答案:

答案 0 :(得分:1)

您为学生和教师使用了$row。 用这种方式:

foreach ($students_show as $student)

foreach($teachers_show as $teacher) 

并且比较应该是这样的

<?php echo $teacher->username == $student->teahcer_name? 'selected="selected"' : '' ?>><?php echo $teacher->username ; ?></option>