Mengambil value dari input type radio

Ceritanya gini, saya mencoba membuat absensi siswa dengan menggunakan codeigniter. Model absensinya adalah seperti pada gambar berikut ini

Berikut ini adalah kode viewnya

<thead>
                  <tr>
                    <th>No</th>
                    <th>Nama</th>
                    <th>Keterangan</th>
                </thead>
                <tbody>
                  <?php $i = 1; ?>
                  <?php foreach($datasiswa as $ds): ?>
                  <tr>
                    <td><?php echo $i; ?></td>
                    <td><?php echo $ds['nama_siswa']; ?></td>
                    <input type="hidden" name="nis" value="<?php echo $ds['nis_siswa']; ?>">
                    <td>
                      <input type="radio" name="ket[]" value="H"> Hadir
                      <input type="radio" name="ket[]" value="S"> Sakit
                      <input type="radio" name="ket[]" value="I"> Izin
                      <input type="radio" name="ket[]" value="A" checked=""> Alpa
                    </td>
                  </tr>
                  <?php $i++; ?>
                <?php endforeach; ?>
                </tbody>

Berikut ini adalah kode di bagian model (fungsi untuk mengambil datanya untuk di teruskan ke db)

public function simpan_absensi() {
		$data = array (
			'nis_siswa_absensi'		=>   $this->input->post('nis'),
			'ket_absensi'			=>   $this->input->post('ket'),
			'tgl_absensi'			=>   date('Y-m-d'),
			'semester_absensi'		=>   1,
			'id_mapel_absensi'		=>   1
		);

		$this->db->insert('tb_absensi', $data);
	}

Saat kode di atas di jalankan, terjadi error seperti gambar berikut ini

Jadi pertanyaannya mungkin ada 2. 1. Bagaimana mengambil value dari masing-masing nama yang telah di pilih keterangan absennya. 2. Yang jelas saat data ini berhasil di inputkan (maksudnya tdk terjadi error), data yang akan tersimpan di db cuma 1 data saja. Bagaimana agar semua data siswa tadi bisa tersimpan semua sekaligus.

Mohon bantuannya, teman-teman. Terima kasih

avatar Ahmad554
@Ahmad554

95 Kontribusi 39 Poin

Diperbarui 5 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Hai @Ahmad554 kamu pecah dulu arraynya. <pre> $ket=implode(',',$this-&gt;input-&gt;post('ket')); </pre> baru kamu masukkan datanya <pre> public function simpan_absensi() { $data = array ( 'nis_siswa_absensi' =&gt; $this-&gt;input-&gt;post('nis'), 'ket_absensi' =&gt; $ket, 'tgl_absensi' =&gt; date('Y-m-d'), 'semester_absensi' =&gt; 1, 'id_mapel_absensi' =&gt; 1 );

	$this-&amp;gt;db-&amp;gt;insert_batch(&#039;tb_absensi&#039;, $data);
}

</pre>semoga membantu ^^

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 5 tahun yang lalu

Tanggapan

Setelah saya coba akhirnya berhasil mas. Sekarang masalahnya yg masuk ke db hanya 1 data saja. Heheh.. Makasih sebelumnya.

Kamu bisa pakai insert_batch

Solved mas, hehe.. Makasih sebelumnya

Login untuk ikut Jawaban