Заново установите флажок, если он не прошел проверку в форме редактирования в Codeigniter

Я работаю над формой редактирования данных в codeigintier. И проблема заключается в повторном заполнении флажка

Он работает, если это форма добавления (это означает, что мне не нужно беспокоиться о ценности в базе данных):

<?= set_checkbox('is_default', '1'); ?> for checkbox 

Проблема заключается в форме редактирования:

Я не могу перезаписать флажок

 <?php if ($customer_group[0]['is_default'] == "1") echo "checked"; set_checkbox('is_default', '1'); ?> 

Флажок будет проверять, даже если я не проверил его в edit =>, чтобы не подтвердить его в форме, спасибо за помощь

Я уже установил правило проверки в контроллере, код в форме добавления работает, но как обрабатывать регистр для формы редактирования?

set_checkbox принимает третий аргумент, чтобы установить состояние по умолчанию, поэтому в основном вы должны сделать что-то вроде этого

 echo set_checkbox('is_default', 1, $customer_group[0]['is_default'] == "1"); 

Чтобы снова установить флажок, следующий код может быть полезен:

 set_checkbox('fieldName', 'fieldValue'); 

Где «значение» является вторым параметром вызова form_checkbox. Как это:

 form_checkbox('fieldName[]', 'value', set_checkbox('fieldName', 'value')); 

Теперь, если вы находитесь в форме редактирования, то ниже код может помочь вам

 $getVal=$valFromDb; //$valFromDb is actually value of the filed from db as you are on edit page if($getVal!=0){ { echo form_checkbox('fieldName[]', 'value', true); } else { echo form_checkbox('fieldName[]', 'value', false); } 

Может дать одно предложение? 1. Скройте все флажки флажка в поле ввода, когда вы направляетесь на страницу редактирования.

  1. Если флажок установлен на странице редактирования, отредактируйте значение скрытого поля ввода значения текстового поля.

  2. Отправьте его, когда проверка не удалась, отметьте или замените значение флажка в соответствии со значением скрытого поля. отправьте флажковое значение поля отмеченного поля через массив из контроллера, чтобы изменить вид страницы, подобный этому. например $ data ['repopulate_checks'] = $ this-> input-> post ('имя массива флажков'); In view: getit как этот $ catch_checkbox = $ repopulate_checks; Вы можете напрямую пройти через $ repopulate_checks. Надеюсь, это поможет вам.

Вы можете использовать функцию form_checkbox (): Руководство

 $isChecked = False; // or True for default value 

Если хранятся данные, тогда:

$isChecked = $customer_group[0]['is_default']; echo form_checkbox('input_name', 'value', $isChecked);

или трудный путь: set_checkbox ():

Первый параметр должен содержать имя флажка, второй параметр должен содержать его значение, а третий (необязательный) параметр позволяет установить элемент по умолчанию (используйте логический TRUE / FALSE)

<input type="checkbox" name="is_default" value="1" <?php echo ($customer_group[0]['is_default']) ? set_checkbox('is_default', '1') : '' ; ?>/>

set_checkbox принимает третий аргумент, чтобы установить состояние по умолчанию, поэтому в основном вы должны сделать что-то вроде этого

$checked = FALSE; if($customer_group[0]['is_default']){ $checked = TRUE; }

 echo set_checkbox('is_default', 1, $checked);