我需要在db列(名为“课程”)的复选框中显示选中的值
我的控制器
public function CheckBoxUpdate($id=0)
{
$data['course_taken']=$this->StudentModel->getInvoice($id);
$this->load->view('site' ,$data);
}
我的模特
public function getInvoice($id=0)
{
return $this->db->select('*')
->from('checkbox')
->where('id', $id)
->get()->row_array();
}
我的观点
<?php
$course=explode(",",$course_taken['course']);
print_r ($course);
?>
<input class="form-check-input" type="checkbox" id="inlineCheckbox1" name="course[]" value="<?php echo $course_taken['course'];?>" >
<label class="form-check-label" for="inlineCheckbox1"><?php echo $course_taken['course'];?></label>
我的数据库
id course === ======== 1 option1,option2
我如何在Codeigniter中选中的复选框中将这些内容显示到所选项目中
答案 0 :(得分:1)
我假设您有一组名为$checkboxes
的整个复选框,如下所示:
<?php
$checkboxes = array(
'0' => 'option0',
'1' => 'option1',
'2' => 'option2',
'3' => 'option3',
'4' => 'option4',
'5' => 'option5',
);
?>
查看您的控制器,我假设您已将所有选中的项目都作为$course_taken
。
您可以像这样显示选中和未选中的项目:
<?php
$course = explode(",",$course_taken['course']);
foreach ($checkboxes as $key => $value) {
?>
<input class="form-check-input" type="checkbox" id="inlineCheckbox<?php echo $key ?>" name="course[]" value="<?php echo $value ?>" <?php echo in_array($value, $course)?'checked="checked"':'' ?> >
<label class="form-check-label" for="inlineCheckbox<?php echo $key ?>"><?php echo $value ?></label>
<?php
}
?>
答案 1 :(得分:0)
这是我可以为您做的..尝试一下。
$courses=array('option1','option2'); //type manually all your course option
$purposesFromDB= $pr['purpose'];
$coursesFromDBArray=explode(',',$coursesFromDB); //explode data from database
foreach($purposesFull as $opt){
$checked = in_array($opt,$purposesFromDBArray) ? 'checked' : ''; //check if it's in the array
echo '<input type="checkbox" name="options[]"'.$checked.'>'.$opt;
答案 2 :(得分:0)
这样做
$course=explode(",",$course_taken['course']);
<?php if(count($course) > 0):
foreach($course as $row):?>
<input class="form-check-input" type="checkbox" id="inlineCheckbox1" name="course[]" value="<?= $row ?>" <?php if($row == 'course-name'){ echo 'checked="checked"';}?> >
<label class="form-check-label" for="inlineCheckbox1"><?= $row ?></label>
<?php endforeach; endif; ?>