значение set_checkbox не возвращается - PullRequest
0 голосов
/ 11 сентября 2018

[введите описание изображения здесь] [1] я хочу заполнить мою форму с помощью кнопки редактирования, как только я нажму кнопку редактирования, она покажет, какие все выбранные элементы должны отображаться

<input type="checkbox" id="mycheck1" name="certid[]" 
  value="1" class="cbx"  <?php echo set_checkbox('certid','1');?>

Контроллер

<code>   $data['getcert'] = $this->User_Model->getcert();

  output should be in the form of array 

   Array
  (
  [id] => 1
  [certificate_id] => 1
  [fee] => 500
  [APPNO] => 10001
  [regno] => 01107402042
  [certid] => 1
  [noc] => 2
  [paid] => 1000
  )


 <?php foreach($getcert as $student){ 
   echo '<pre>';
    print_r($student);
    echo '
';?>1 Стенограммы и аттестат сертификата степени > 500 чтобы значение сертификата было помещено только в флажок

Эти значения хранятся в дБ. Как назначить это значение в этом представлении?

Ответы [ 3 ]

0 голосов
/ 11 сентября 2018

Правильно, очевидно, set_checkbox() - это нечто большее, что можно использовать при повторном заполнении полей из проверки формы.Например, поле имеет почтовое значение, и это почтовое значение необходимо вернуть в случае сбоя проверки.Так что на самом деле это не то, что нужно для определения, соответствует ли поле БД значению флажка.

Теперь я предполагаю, что логика, которую вы хотите, заключается в том, что если значение в БД для certid равно 1, то флажок долженбыть провереннымВ этом случае вы можете сделать:

<input type="checkbox" id="mycheck1" name="certid[]" value="<?php echo (!isset($student['certid'])) ? 1 : $student['certid'] ?>" class="cbx" <?php if ($student['certid'] == 1):?> checked="checked"<?php endif;?>>
0 голосов
/ 11 сентября 2018

попробуйте это:

<input type="checkbox" id="mycheck1" name="certid[]" value="1" class="cbx" <?php echo set_checkbox('certid','1', $certid==1;?>>

с $certid в качестве значения вашего дБ

из руководства:

третье (опциональноПараметр) позволяет вам установить элемент в качестве значения по умолчанию (используйте логическое значение ИСТИНА / ЛОЖЬ) '

, поэтому вы проверяете значение в БД, если оно соответствует значению флажка.

0 голосов
/ 11 сентября 2018

Это не прямые ответы на ваш вопрос, но вы получите представление, как это сделать.

В HTML:

<input type="hidden" name="certid" value="<?php print base64_encode(serialize($result)); ?>">

А в контроллере:

$data = unserialize(base64_decode($this->input->post('certid')));

Используя этот метод, вы можете передавать данные массива из внешнего интерфейса в ваш контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...