Я сталкиваюсь с этой проблемой, что мое поле флажка в Базе данных установлено на tinyint(1)
и значение по умолчанию в "0" проблема, когда я "проверял" флажок и обновляю через этот код, который успешно обновил и значение базы данныхизменил «0» на «1», и когда я снова протестирую код на этот раз, чтобы «снять флажок», установите флажок и обновите, тогда ничто не происходит с экраном, не отображает никаких ошибок и не обновляет значение на этот раз «1» до «0» ...
Модель:
public function updateCheckbox($table, $id, $data)
{
$this->db->where('membership_id', $id);
return $this->db->update($table, $data);
}
Контроллер:
public function edituserstatus($id)
{
$checkbox = isset($_POST['checkbox']) ? 1 : 0;
if($this->input->post()){
$data = array(
'isactive' => $checkbox,
);
$this->member_model->updateCheckbox('users', $id, $data);
$this->session->set_flashdata('success', 'Updated Successfully!');
redirect(base_url().'admin/edituserstatus/'.$id, 'refresh');
}else{
$data['editdata'] = $this->member_model->getUserDataforEdit($id);
$this->load->view('admin/edituserstatus', $data);
}
}
Вид
<form action="<?php echo base_url()."admin/edituserstatus/".$editdata->membership_id ?>" method="post">
<input type="checkbox" name="isactive" value="<?php echo $editdata->isactive; ?>" <?php echo ($editdata->isactive == 1 ? 'checked' : 0); ?> />
<br /> <br />
<button type="submit" class="btn btn-primary btn-sm">Update</button>
</form>
Я слишком много пробовал со всего интернета, но не получил никакого ответа, надеюсь, я получу ответ отсюда ... Спасибо