数组插入和更新错误codeigniter

问题描述 投票:0回答:0

我有一个代码可以插入一个表数组并更新它。
但问题是..

  1. 插入有效,但只插入一条记录,而不是全部
  2. 更新 由于错误“未定义的变量:输入、密钥、Id_siswa缺少 Guru_m::editAbsen 的参数 3(

这是我在控制器上的代码:

public function saveAbsensi()
{
 if ($this->input->post('kirimabsen')) {
 $input = $this->input->post();
 $id_mapel = $input['id_mapel'];
 $id_kelas = $input['id_kelas'];
 $index = 0;
 foreach ($input['id_siswa'] as $key => $val) {
  $data = [
    'id_siswa' => $input['id_siswa'][$key],
    'id_mapel' => $input['id_mapel'],
    'id_kelas' => $input['id_kelas'],
    'time_in' => time(),
    'tanggal' => date("d"),
    'bulan' => date("m"),
    // 'bulan' => '10',
    'tahun' => date("Y"),
    'keterangan' => $input['keterangan'][$key]
  ];
  $this->guru_m->saveAbsen($data);
 redirect('gr/absensi');
 }

 } elseif ($this->input->post('ubahabsen')) {
     $data = [
    'id_siswa' => $input['id_siswa'][$key],
    'id_mapel' => $input['id_mapel'],
    'id_kelas' => $input['id_kelas'],
    'time_in' => time(),
    'tanggal' => date("d"),
    'bulan' => date("m"),
    // 'bulan' => '10',
    'tahun' => date("Y"),
    'keterangan' => $input['keterangan'][$key]
  ];
    $this->guru_m->editAbsen($data);
 redirect('gr/absensi');
}
}

模型上:

public function saveAbsen($data)
{
 return $this->db->insert('absensi', $data);
}

 public function editAbsen($data, $keterangan, $id_siswa)
 {
 $q = $this->db->set('keterangan', $data['keterangan']);
 $q = $this->db->where('id_siswa', $id_siswa['']);
 $q = $this->db->update('absensi', $data);
 $results = $this->db->affected_rows();
 return $results;
}

你能告诉我那个代码有什么问题吗?

php mysql codeigniter codeigniter-3
© www.soinside.com 2019 - 2024. All rights reserved.