Я использую CodeIgniter и mySQL для создания формы флажка. Форма содержит 4 варианта; каждая опция имеет только один флажок; пользователи могут выбрать любую комбинацию опций. Я хочу сделать следующее:
1 — для каждого флажка используйте значение 1 (если флажок не установлен) или 2 (если флажок установлен) и передайте эти значения в базу данных (каждый флажок имеет собственное поле). Прямо сейчас, независимо от того, отмечены они или нет, флажки отправляют значение 0 в базу данных.
2 - После того, как пользователи обновят свои флажки, я хотел бы обновить базу данных, чтобы отразить новые значения. Прямо сейчас новая строка добавляется для каждого обновления флажков.
На данный момент у меня есть форма, которая отправляет значения флажков в базу данных, контроллер и модель):
Форма
<?php echo form_open('addFoo'); ?>
<input type="checkbox" name="foo1" value="" />
<input type="checkbox" name="foo2" value="" />
<input type="checkbox" name="foo3" value="" />
<input type="checkbox" name="foo4" value="" />
<?php echo form_submit('submit', 'Save Changes'); ?>
<?php echo form_close(); ?>
Контроллер
function addFoo()
{
if ($this->input->post('submit')) {
$id = $this->input->post('id');
$foo1 = $this->input->post('foo1');
$foo2 = $this->input->post('foo2');
$foo3 = $this->input->post('foo3');
$foo4 = $this->input->post ('foo4');
$this->load->model('foo_model');
$this->foo_model->addFoo($id, $foo1, $foo2, $foo3, $foo4);
}
}
Модель
function addFoo($id, $foo1, $foo2, $foo3, $foo4) {
$data = array(
'id' => $id,
'foo1' => $foo1,
'foo2' => $foo2,
'foo3' => $foo3,
'foo4' => $foo4
);
$this->db->insert('foo_table', $data);
}