0 レビュー
1 回答
チェックボックスを使用した請求書ジェネレータ-未定義のオフセット[2]PHPCodeigniter
学校の管理システムで複数の請求書を生成しようとしています。 ここに問題があります:
たとえば、DBに10人の学生がいます
学生が連続して選ばれた場合、請求書を作成することができます。 学生1、学生2、学生3、学生4
しかし、連続した順序から生徒を逃してランダムな順序で生成しようとすると、未定義のオフセットエラーが発生します。 学生1、学生4、学生5、学生7
コードは次のとおりです:
for($x = 1; $x <= count($this->input->post('studentId')); $x++) {
$insert_data = array(
'class_id' => $this->input->post('className'),
'section_id' => $this->input->post('sectionName'),
'student_id' => $this->input->post('studentId')[$x],
'payment_name_id' => $payment_name_id
);
$status = $this->db->insert('payment', $insert_data);
}
return ($status === true ? true : false);
請求書が生成された後の編集にも同じことが当てはまります。 forループをwhileループに変更してみましたが、エラーは発生しませんが、選択した生徒がランダムな順序である場合は保存されません。
$x = 1;
$form_fields = count($this->input->post('editStudentId'));
while($x <= $form_fields) {
if(!empty($this->input->post('editStudentId')[$x])) {
$update_payment_data = array(
'class_id' => $this->input->post('editClassName'),
'section_id' => $this->input->post('editSectionName'),
'student_id' => $this->input->post('editStudentId')[$x],
'payment_name_id' => $id
);
$status = $this->db->insert('payment', $update_payment_data);
}
$x++;
}
return ($status === true ? true : false);
わからない
0
レビュー
答え :
解決策:
for
をforeach
に置き換えます:
for each($ this-> input-> post('studentId')as $ studentId){
$ insert_data = array(
'class_id' => $ this-> input-> post('className')、
'section_id' => $ this-> input-> post('sectionName')、
'student_id' => $ studentId、
'payment_name_id' => $payment_name_id
);
$ status = $ this-> db-> insert('payment'、$ insert_data);
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。