0

我有一个带有添加和编辑功能的表单。在表单内部,它们有复选框。复选框本身是从 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>&nbsp;';
    }
    else
    {
        $branch_id .= '<label><input name="branch_id[]" type="checkbox" value="'.$branch_list_checkbox->id.'" />'.$branch_list_checkbox->name.'</label>&nbsp;';
    }           
}

中的所有内容$branch_list都已正确填充。但是我如何$branch_checked正确地分配给他们各自的复选框呢?

需要帮助,谢谢。

4

2 回答 2

0

看起来你做对了。也许您需要放置的不仅仅是“检查”

$branch_id .= '<label><input name="branch_id[]" type="checkbox" value="'.$branch_list_checkbox->id.'" checked="checked" />'.$branch_list_checkbox->name.'</label>&nbsp;';
于 2013-03-20T14:27:22.330 回答
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)

并且有2个错误框。

$branch_list和产生的输出$branch_checked是数组,所以我想我应该做一个foreachto$branch_checked但我不知道如何写它。

我用谷歌搜索发现foreach($a as $b => $c),但我不明白它是如何工作的;但是我试图将任何可能使用的变量放在代码上,它会产生错误。

于 2013-03-20T14:57:26.760 回答