1

約 50 個の入力チェック ボックスがあるページがあります。

name="form[]"

すべてのチェック ボックスをループできるようにするには、php スクリプトが必要です。また、どのチェック ボックスをチェックして送信するかを変数に入れる必要があるため、指定された場所にどのフォームを格納するかを指定する必要があります。

これは私のループです:

if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
    foreach ($this->input->post('form') as $forms) { // If above ^^^ is true loop through form[] 
        $givenforms = ', '.$forms.''; // What ever form[] is in the array assign them to the givenforms variable
    }
    $comments = 'This student was given'.$givenforms.''; // The comment I want to store in the database
}

これは機能しますが、1 つのフォーム (チェック ボックス) に対してのみ機能します。何らかの理由で、クライアントが生徒に 50 のフォームすべてを渡す必要がある場合、 $comment = 'This Student was given .......................... ………………(全50形態)」

リンクやヒントをいただければ幸いです。

4

2 に答える 2

4

=を連結する代わりに、各反復で値を上書きしていますが、ユースケースに使用.=できると思います:implode

if ($this->input->post('action') == 'additional') { // Checks if radio button was checked
    $givenforms = implode(', ', $this->input->post('form'));
    $comments = 'This student was given'.$givenforms;
}
于 2013-04-06T17:55:03.380 に答える
1

$givenforms = ', '.$forms.'';ループを実行するたびに前のものが上書きされるため、間違っています。の代わりに (連結演算子) を
使用します。.==

$givenforms = "";また、を使用して連結する前に、ループの外側を使用して変数を設定してください。$givenforms .= ...........

これを行わないと、警告が表示されます (または通知、よくわかりません)。

于 2013-04-06T17:55:35.560 に答える