Apa sebenarnya keuntungan dari fitur “Multiple Delete”? keuntungan dengan menyediakan fitur ini yakni agar memudahkan user yang menggunakan aplikasi kita untuk menghapus lebih dari 1 data dalam sekali aksi artinya fitur ini akan sangat berguna ketika user akan menghapus banyak data. Akan cukup merepotkan juga ketika dalam aplikasi hanya disediakan fitur hapus per 1 data, sementara user diharuskan menghapus banyak data.
1.BUAT MODEL
1 2 3 4 5 6 7 8 9 10 11 12 | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class SiswaModel extends CI_Model { public function view(){ return $this->db->get('siswa')->result(); } public function delete($nis){ $this->db->where_in('nis', $nis); $this->db->delete('siswa'); } } |
2.BUAT CONTROLLER
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Siswa extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->model('SiswaModel'); } public function index(){ $data['siswa'] = $this->SiswaModel->view(); $this->load->view('view', $data); // Load view view.php } public function delete(){ $nis = $_POST['nis']; // Ambil data NIS yang dikirim oleh view.php melalui form submit $this->SiswaModel->delete($nis); // Panggil fungsi delete dari model redirect('siswa'); } } |
3.BUAT VIEW
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <html> <head> <title>Multiple Delete</title> <style> table { border-collapse: collapse; } table, td, th { border: 1px solid black; } </style> <!-- Load librari/plugin jquery nya --> <script src="<?php echo base_url('assets/jquery.min.js'); ?>"></script> </head> <body> <h1>Data Siswa</h1> <form method="post" action="<?php echo base_url('index.php/siswa/delete') ?>" id="form-delete"> <table border="1" cellpadding="5"> <tr> <th><input type="checkbox" id="check-all"></th> <th>NIS</th> <th>Nama</th> <th>Telepon</th> <th>Alamat</th> </tr> <?php if( ! empty($siswa)){ $no = 1; foreach($siswa as $data){ echo "<tr>"; echo "<td><input type='checkbox' class='check-item' name='nis[]' value='".$data->nis."'></td>"; echo "<td>".$data->nis."</td>"; echo "<td>".$data->nama."</td>"; echo "<td>".$data->telp."</td>"; echo "<td>".$data->alamat."</td>"; echo "</tr>"; $no++; } } ?> </table> <hr> <button type="button" id="btn-delete">DELETE</button> </form> <script> $(document).ready(function(){ // Ketika halaman sudah siap (sudah selesai di load) $("#check-all").click(function(){ // Ketika user men-cek checkbox all if($(this).is(":checked")) // Jika checkbox all diceklis $(".check-item").prop("checked", true); // ceklis semua checkbox siswa dengan class "check-item" else // Jika checkbox all tidak diceklis $(".check-item").prop("checked", false); // un-ceklis semua checkbox siswa dengan class "check-item" }); $("#btn-delete").click(function(){ // Ketika user mengklik tombol delete var confirm = window.confirm("Apakah Anda yakin ingin menghapus data-data ini?"); // Buat sebuah alert konfirmasi if(confirm) // Jika user mengklik tombol "Ok" $("#form-delete").submit(); // Submit form }); }); </script> </body> </html> |
Untuk fitur multiple delete yang akan kita buat ini, konsepnya adalah dengan memanfaatkan checkbox. Checkbox ini berguna untuk agar user bisa memilih data mana saja yang akan dia hapus. Jadi kita akan melakukan hapus data terhadap data siswa yang user ceklis saja.
Sumber :https://www.mynotescode.com