Menggunakan multiple checkbox di CodeIgniter memang gampang-gampang susah. Karena parsing value checkbox tidak menyertakan keseluruhan data, namun hanya data yang di check saja.
Namun jangan khawatir, ada banyak cara untuk kita menggunakan multiple checkbox di CodeIgniter. Ada cara mudah, ada cara yang mungkin bagia sebagian orang mudah, bagi sebagian orang yang lain sulit.
Pada artikel kali ini, saya akan membagikan bagaimana cara menggunakan multiple checkboc di CodeIgniter dengan mudah, sangat mudah sekali, dan mungkin tidak terbayang sebelumnya.
Baca juga:
Lokasi file log linux dan bagaimana cara melihat file log di Linux?
Top 10 library Python untuk Data Science yang harus kamu tahu
Namun, sebelum kita mulai, kita akan memberikan intro dulu kepada pembaca yang mungkin masih bingung dengan pembahasan ini.
Apa itu CodeIgniter?
CodeIgniter merupakan framework yang digunakan untuk mengembangkan berbagai aplikasi berbasis web. Sampai saat ini, versi yang sudah rilis secara stabil ada versi 3.x.x. Sementara versi 4 sedang dalam tahap pengembangan dan pengujian pada saat tulisan ini ditulis.
Apa itu checkbox dan multiple checkbox? dan pengguna
Checkbox adalah jenis inputan yang cara memilihnya adalah dengan cara mencentang, karena itu memubih ngkinkan user untuk memilih lebih dari satu inputan. Berbeda dengan radio button yang mengharuskan user untuk memilih hanya satu inputan.
Apa yang dimaksud multiple checkbox? Maksudnya adalah ketika kita perlu untuk melakukan parsing beberapa checkbox sekaligus, dengan value yang berbeda-beda, dan index yang berbeda. Duh, bingung ya?
Bayangkan saja kita sedang mengirim data dari view berupa kuisioner, yang masing-masing pertanyaan memiliki jawaban banyak, bagaimana cara memarsingnya? Nah, disini salah satu contoh penggunaan multiple checkbox.
Contoh Kasus: Menggunakan Multiple Checkbox input pada CodeIgniter
Misalnya, kita akan mengelompokkan siswa ke kelas A dan B. Sehingga kita perlu memiliki form input dimana dapat menampilkan nama pengguna atau NIS dan nilai opsional untuk kelas A atau B.
Contoh kode:
Ini kode sederhana saya, yang mungkin nanti pelan-pelan bisa teman-teman pahami dan implementasikan dalam pekerjaan teman-teman.
Controller
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message');
}
public function proses_kelas(){
$id_siswa = $this->input->post('id_siswa');
$kelas = $this->input->post('kelas[]');
$jml_siswa = count($id_siswa);
for ($i=0;$i<$jml_siswa;$i++){ $data = array('id_siswa' => $id_siswa[$i], 'kelas' => $kelas[$i] );
$this->db->insert('kelas_siswa',$data);
}
echo "sukses";
}
}
View
<!DOCTYPE html>
<html>
<head>
<title>Multiple checkbox</title>
</head>
<body>
<form action="http://localhost:8080/multiplecheckbox/index.php/welcome/proses_kelas" method="post">
<table border="1">
<th>
<tr>
<td>Nama</td>
<td>Kelas</td>
</tr>
</th>
<tbody>
<?php
$ambil_siswa = $this->db->get('siswa')->result();
foreach ($ambil_siswa as $key) {
?>
<tr>
<td>
<input type="hidden" name="id_siswa[]" value="<?=$key->id?>">
<?=$key->nama?></td>
<td>
<input type="checkbox" name="kelas[]" value="A"> A
<input type="checkbox" name="kelas[]" value="B"> B
</td>
</tr>
<?php } ?>
</tbody>
</table>
<button type="submit">Proses</button>
</form>
</body>
</html>
Saya tidak menambahkan model, karena dalam hal ini, saya sekedar memberikan contoh dan hanya melakukan parsing data siswa dari view. Ini hanya sebagai contoh studi kasus, teman-teman dapat menerapkan kode ini sendiri.
Multiple delete checkbox codeigniter
Seperti yang sudah saya berikan contoh diatas, pada contoh input data, hal serupa bisa dilakukan untuk melakukan hapus data.Multiple checkbox validation in codeigniter
Penggunaan yang lain bisa dilakukan untuk melakukan berbagai kebutuhan lain. Oh iya, tadi saya bilang ini cara yang gampang, cara yang sulit apa?
Cara yang sulit biasanya menggunakan Javascript. Sebenarnya tidak terlalu sulit, kalau teman-teman sudah terbiasa. Lain waktu kita bahas di Wiki35.com. Sampai disini dulu, semoga bermanfaat.