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

実際だけ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_listandによって生成される出力は配列なので、 toを実行する必要が$branch_checkedあると思いますが、書き方がわかりません。foreach$branch_checked

グーグルで見つけましforeach($a as $b => $c)たが、それがどのように機能するのかわかりません。ただし、コードで使用される可能性のある変数を配置しようとすると、エラーが発生します。

于 2013-03-20T14:57:26.760 に答える
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 に答える