【发布时间】:2016-08-31 06:41:04
【问题描述】:
我无法将复选框发布到数据库。请帮帮我...
这是我的看法:
<table>
<tr>
<td>
<input type='hidden' name='userid[]' value='1'>
<input type='text' name='username[]' value='username1'>
</td>
<td>
<input type='checkbox' name='as_admin[]' value=1>
</td>
</tr>
<tr>
<td>
<input type='hidden' name='userid[]' value='2'>
<input type='text' name='username[]' value='username2'>
</td>
<td>
<input type='checkbox' name='as_admin[]' value=1>
</td>
</tr>
</table>
这是我的控制器:
$this->Model_user->insert_user();
这是我的模型:
function insert_user(){
$user_count = count($this->input->post('userid'));
$userid = $this->input->post('userid');
$username = $this->input->post('username');
$as_admin = $this->input->post('as_admin');
for ($i=0; $i < $user_count; $i++){
$info_user = array(
'user_id' => $userid[$i],
'user_name' => $username[$i],
'as_admin' => $as_admin[$i],
);
$this->db->insert($info_user);
}
}
问题是当 'username2' 标记为 admin(选中第二行复选框)时,数据库中将是这样的:
|user_id|user_name|as_admin|
| 1 |username1| 1 |
| 2 |username2| 0 |
应该是这样的:
|user_id|user_name|as_admin|
| 1 |username1| 0 |
| 2 |username2| 1 |
现在有没有人如何保存那些东西,拜托...
提前谢谢...
【问题讨论】:
-
您是否同时选中两个复选框?
-
@d.coder 看起来是这样,用收音机代替。
-
当我检查第二行时,复选框值保存到第一行
-
如果没有,那么你必须使用收音机。
-
不能使用收音机,因为两者都可以作为管理员
标签: php mysql codeigniter checkbox