我是 php/codeignitor 的新手,并试图将表单复选框的更改发布到我的数据库。要修改的行由下面的 gl_id 分配。我不知道如何在模型中使用我的 update_checked 函数将 TRUE 发布到 gl_id =x 和 FALSE 的每个字段,用于不在数组中的其余字段。我可以在控制器中使用 $_POST['checked'] 创建和查看检查值数组并将其传递给模型。现在我需要使用这个数组发布到数据库,其中 gl_id = 视图中表单的值。
在视图中
<h1>Update GL id <?php echo $gl_field['gl_id'];?></h1>
<label>Stat</label>
<input type="checkbox" <?php if ($gl_field['stat'] == "TRUE") {echo "checked = checked";} ?>
name = "checked[]" id="stat" value= "stat" /><BR CLEAR="all">
<label>Exclude</label>
<input type="checkbox" <?php if ($gl_field['exclude'] == "TRUE") {echo "checked = checked";} ?>
name="checked[]" id="exclude" value= "exclude"><BR CLEAR="all">
<label>Override</label>
<input type="checkbox" <?php if ($gl_field['override'] == "TRUE") {echo "checked = checked";} ?>
name= "checked[]" id= "override" value = "override"/><BR CLEAR="all">
在控制器中
public function update_table(){
$this->load->helper('form');
$this->page_nav_model->update_table();
$checked_array = $_POST['checked'];
$this->page_nav_model->update_checked($checked_array);
$this->load->view('pages/success');
}
在模型中
foreach($checked_array as $true){
echo $true;
}
为了澄清当我将信息拉入上述示例中的表单时,数据库中的所有复选框都设置为“TRUE”,因此它们被选中。如果我取消选中 stat 并单击提交,我可以看到一个包含值的数组(排除、覆盖)。
我感谢任何使我朝着正确方向前进的帮助。