как извлечь проверенное значение из базы данных в codeigniter - PullRequest
0 голосов
/ 13 марта 2019

Мне нужно показать проверенные значения в флажке из столбца БД (с именем «курс»)

мой контроллер

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 ]

1 голос
/ 14 марта 2019

Я предполагаю, что у вас есть набор целых флажков с именем $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
}
?>
0 голосов
/ 14 марта 2019

Делай как это

$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; ?>
0 голосов
/ 14 марта 2019

Вот что я могу сделать для тебя .. попробуй.

$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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...