我有一个带添加和编辑功能的表单。在表单内部,它们有复选框。复选框本身是从mysql表生成的。
当我想要添加功能时,会正确填充该复选框。但是,当我输入表格的编辑功能时,我有问题。
我需要根据提交时检查复选框值。
这是我的代码:
控制器:
public function edit($id)
{
$data['query'] = $this->Campaign_model->edit($id);
$data['branch_list'] = $this->Campaign_model->get_branch_list();
$data['branch_checked'] = $this->Campaign_model->get_checked_branches($id);
$this->load->view('campaign_form', $data);
}
$data['branch_list']
包含主要复选框。 $data['branch_checked']
包含在当前数据(查询)中检查的复选框。
查看:
$branch_id = "";
foreach($branch_list as $branch_list_checkbox)
{
if($branch_list_checkbox->id == $branch_checked->branch_id)
{
$branch_id .= '<label><input name="branch_id[]" type="checkbox" value="'.$branch_list_checkbox->id.'" checked />'.$branch_list_checkbox->name.'</label> ';
}
else
{
$branch_id .= '<label><input name="branch_id[]" type="checkbox" value="'.$branch_list_checkbox->id.'" />'.$branch_list_checkbox->name.'</label> ';
}
}
$branch_list
中的所有内容都已正确填充。但是,如何将$branch_checked
正确分配到各自的复选框?
需要帮助,谢谢。
答案 0 :(得分:0)
看起来你正确地做到了。也许不只是把“检查”你需要放
$branch_id .= '<label><input name="branch_id[]" type="checkbox" value="'.$branch_list_checkbox->id.'" checked="checked" />'.$branch_list_checkbox->name.'</label> ';
答案 1 :(得分:0)
实际上只有checked
没问题。当我运行上面的代码时,它会产生错误:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: views/campaign_form.php
Line Number: 104
第104行是:
if($branch_list_checkbox->id == $branch_checked->branch_id)
错误有两盒。
$branch_list
和$branch_checked
产生的输出是数组,所以我想我应该foreach
到$branch_checked
,但我不知道怎么写它。
我在谷歌上搜索foreach($a as $b => $c)
,但我不明白它是如何工作的;但是我试图在代码上放置可能使用的任何变量,它会产生错误。