gurumutant icon

Perbaikan bug pada penyimpanan data ekskul

gurumutant | PRO | 12/28/16 07:05:25 AM UTC | 0 ⭐ | 598 👁️ | Never ⏰ | []
PHP |

1.82 KB

|

None

|

0 👍

/

0 👎

/* timpakan/replace pada function simpan_ekstrakurikuler() pada file application\controllers\admin\laporan.php */
 
    public function simpan_ekstrakurikuler(){
        $ajaran_id = $_POST['ajaran_id'];
        $rombel_id = $_POST['rombel_id'];
        $ekskul_id = $_POST['ekskul_id'];
        $siswa_id = $_POST['siswa_id'];
        foreach($siswa_id as $key=>$siswa){
            $nilai_ekskul = Nilaiekskul::find_by_ajaran_id_and_ekskul_id_and_rombel_id_and_siswa_id($ajaran_id,$ekskul_id,$rombel_id,$siswa);
            if($nilai_ekskul) { // ditemukan data di nilai ekskul utk siswa ybs
                if ($_POST['nilai'][$key] < 1) { // ditemukan data, tapi wali menghendaki nilainya ditiadakan (salah entry sebelumnya)
                    $nilai_ekskul->delete();
                } else { // wali mengubah penilaian atau deskripsi
                    $nilai_ekskul->update_attributes(
                        array(
                            'nilai' => $_POST['nilai'][$key],
                            'deskripsi_ekskul' => $_POST['deskripsi_ekskul'][$key],
                        )
                    );
                }
            } else {
                if ($_POST['nilai'][$key] > 0) { // hanya menyimpan jika wali benar2 memberikan penilaian ekskul
                    $new_ekskul = new Nilaiekskul();
                    $new_ekskul->ajaran_id = $ajaran_id;
                    $new_ekskul->rombel_id = $rombel_id;
                    $new_ekskul->ekskul_id = $ekskul_id;
                    $new_ekskul->siswa_id = $siswa;
                    $new_ekskul->nilai = $_POST['nilai'][$key];
                    $new_ekskul->deskripsi_ekskul = $_POST['deskripsi_ekskul'][$key];
                    $new_ekskul->save();
                }
            }
        }
        $this->session->set_flashdata('success', 'Berhasil menambah nilai ekstrakurikuler');
        redirect('admin/laporan/ekstrakurikuler');
    }

Comments