Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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