如何在Codeigniter中从数据库检索检查值

时间:2019-03-13 18:32:43

标签: codeigniter

我需要在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中选中的复选框中将这些内容显示到所选项目中

3 个答案:

答案 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; ?>