我正在使用 CodeIgniter 和 mySQL 构建复选框表单。该表格包含 4 个选项;每个选项只有一个复选框;用户可以选择选项的任意组合。我想做以下事情:
1 - 对于每个复选框,使用值 1(如果未选中)或 2(如果选中)并将这些值传递到数据库(每个复选框都有自己的字段)。现在,无论选中还是未选中,复选框都会将 0 值发送到数据库。
2 - 一旦用户更新他们的复选框,我想更新数据库以反映新值。现在,每次更新复选框都会添加一个新行。
到目前为止,我得到的是一个将复选框值提交到数据库、控制器和模型的表单:
Form
<?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);
}
}
Model
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);
}