我想使用Codeigniter将数据从复选框[数组]插入到数据库中。 我的情况下是用户检查assesmen标准碱从复选框形式,然后我的控制器处理它时,复选框校验,那么值是1,如果取消选中然后0这是我的视图使用Codeigniter将数据从复选框阵列插入数据库
ID | Trimester I | Trimester II | Trimester III |
21 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[]
42 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[]
23 | checbox_trimester_i[] | checbox_trimester_ii[] | checbox_trimester_iii[]
我要插入到表' assesmen”。这是我在DB列
ID | ID_pk | Trimester_1 | Trimester_2 | Trimester_3 |
1 | 21 | 1 | 0 | 1
2 | 42 | 0 | 1 | 1
3 | 23 | 1 | 0 | 0
注*:
ID_pk = ID
Trimester_1 => checbox_trimester_i[]
Trimester_2 => checbox_trimester_ii[]
Trimester_3 => checbox_trimester_iii[]
这是我的看法形式:
foreach ($kuisioner as $art) { $no++; ?>
<tr>
<td><input type="hidden" name="id[]" value="<?php echo $art->id ?>"></td>
<td align="center">
<input type="checkbox" name="checbox_trimester_i[]">
</td>
<td align="center">
<input type="checkbox" name="checbox_trimester_ii[]">
</td>
<td align="center">
<input type="checkbox" name="checbox_trimester_iii[]">
</td>
</tr>
<?php }
这里是我的控制器,但仍然无法正常工作,请帮我解决它。谢谢
$posted = $this->input->post();
$as_trim_satu = isset($posted['checbox_trimester_i']) ? $posted['checbox_trimester_i'] : array();
$data = array();
foreach($posted['id'] as $key => $value)
{
$info_user = array(
'user_id' => $value,
'trimester_satu' => in_array($posted['id'][$key], $as_trim_satu) ?1:0,
);
$data[] = $info_user;
}
echo "<pre>";
print_r($data);
echo "</pre>";
在代码点火器中,您不应该直接访问$ _POST。它提供$ this-> input类来处理它们。要获得一个帖子变量,你可以使用$ this-> input-> post(“field”); –
喜欢这个? $ trimester_1 = $ this-> input-> post('checbox_trimester_i'); $ check = $ trimester_1 [$ i]? 1:0; – Chris
向我们展示您的视图代码以及您如何通过js或表单的值传递 – Zeeshan