我有要求,我需要编辑表单,并且在此编辑表单中,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>
答案 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>