Hapus Data Dengan CodeIgniter dan MySQL
lebakcyber.net – Hapus data dengan CodeIgniter dan MySQL. Pada kesempatan kali ini kita akan membahas mengenai bagaimana cara menghapus data menggunakan framework CodeIgniter dan database MySQL. Sebelum mengikuti tutorial ini, ada baiknya kalian mengikuti tutorial mengenai CodeIgniter yang sebelumnya sudah pernah di bahasa, daftarnya dibawah ini :
- Berkenalan Dengan CodeIgniter
- Belajar Controller Pada CodeIgniter
- Membuat View di CodeIgniter
- Cara Menghilangkan Index.php di Codeigniter
- Insert Data Dengan CodeIgniter dan MySQL
- Menampilkan Data dari Database dengan CodeIgniter
Untuk menghapus data yang ada didalam tabel database dengan menggunakan CodeIgniter caranya cukup mudah, sama saja caranya seperti membuat crud dengan PHP native, namun pada CodeIgniter ini kita menggunakan metode MVC sehingga proses pembuatan CRUD agak sedikit berbeda.
Namun jangan khawatir, karena pada tutorial ini kami akan mencoba membahasnya dengan jelas, singkat dan mudah.
Sekarang silahkan coba buka file insert_user.php yang pada tutorial sebelumnya sudah pernah kita bahas dan buat untuk menampilkan data dari database ke dalam bentuk tabel dan didalamnya juga sudah ada link untuk mengubah dan menghapus isi dari baris tabel yang diinginkan.
<head> <title>Insert Data dengan CodeIgniter | lebakcyber.net</title> </head> <body> <center> <h1>Insert Data dengan CodeIgniter | lebakcyber.net</h1> <h3>Tambah user baru</h3> </center> <form action="<?php echo base_url('index.php/insert_user/input_user'); ?>" method="post"> <table style="margin:20px auto;"> <tr> <td>Nama</td> <td><input type="text" name="nama" required></td> </tr> <tr> <td>Email</td> <td><input type="email" name="email" required></td> </tr> <tr> <td>Password</td> <td><input type="password" name="pass"></td> </tr> <tr> <td></td> <td><input type="submit" onclick="return confirm('Apakah anda yakin menyimpan data user?')" value="Tambah User"></td> </tr> </table> <center> <h1>Daftar User</h1> </center> <table style="margin:20px auto;" border="1"> <tr> <th>No</th> <th>Nama</th> <th>Email</th> <th>Password</th> <th>Aksi</th> </tr> <?php $no = 1; foreach ($tampil_user as $u) { ?> <tr> <td><?php echo $no++ ?></td> <td><?php echo $u->nama ?></td> <td><?php echo $u->email ?></td> <td><?php echo $u->password ?></td> <td> <?php echo anchor('index.php/insert_user/edit/' . $u->nama, 'Ubah'); ?> | <?php echo anchor('index.php/insert_user/delete/' . $u->nama, 'Hapus'); ?> </td> </tr> <?php } ?> </table> </form> </body> </html>
Pada contoh file diatas, tolong perhatikan link hapus yang dibuat dengan menggunakan hyperlink codeigniter yaitu anchor() seperti pada contoh dibawah ini :
<?php echo anchor('index.php/insert_user/delete/' . $u->nama, 'Hapus'); ?>
Link tersebut tertuju pada method dan function hapus di controller crud. Untuk dapat menghapus datanya kita akan membuat sebuah method baru dengan nama hapus selanjutnya kita akan tangkap data id nya dimana pada contoh ini adalah variabel nama dan memberikan action untuk menghapus data pada database berdasarkan nama melalui model codeigniter.
Sekarang tambahkan method pada controller Insert_User.php yang ada di application/controllers/Insert_User.php seperti pada contoh dibawah ini :
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Insert_User extends CI_Controller { function __construct() { parent::__construct(); } public function tampil_input_user() { $this->load->model('m_insert'); $data['tampil_user'] = $this->m_insert->tampil_user()->result(); $this->load->view('insert_user', $data); } public function input_user() { $this->load->model("m_insert"); $nama = $this->input->post('nama'); $email = $this->input->post('email'); $password = $this->input->post('pass'); $data = array( 'nama' => $nama, 'email' => $email, 'password' => $password ); $this->m_insert->input_data($data, 'tbl_user'); redirect('http://localhost/lebakcyber/index.php/insert_user/tampil_input_user'); } function delete($nama) { $this->load->model('m_insert'); $where = array('nama' => $nama); $this->m_insert->hapus_data($where, 'tbl_user'); redirect('http://localhost/lebakcyber/index.php/insert_user/tampil_input_user'); } }
Pada parameter function delete() tersebut ada sebuah variabel $nama yang berguna untuk menangkap data nama yang di kirim melalui url dari link hapus yang ada didalam tabel. Selanjutnya variabel tersebut dijadikan array ke model m_insert.php seperti pada contoh dibawah ini :
$this->m_insert->hapus_data($where, 'tbl_user');
Pada function delete diatas kita akan memasukan variabel array $where yang berisi data nama tadi, dan pada parameter kedua kita memasukan nama tabel yang ada didalam database.
Karena disini kita menggunakan function mode hapus_data pada model m_insert.php, maka buat lagi function hapus_data pada mode m_insert.php seperti contoh dibawah ini :
function hapus_data($where,$table){ $this->db->where($where); $this->db->delete($table); }
Dan berikut ini adalah source code lengkap dari model m_insert.php
<?php defined('BASEPATH') or exit('No direct script access allowed'); class m_insert extends CI_Model { //=============================================== CRUD =================================================================// function input_data($data, $table) { $this->db->insert($table, $data); } function tampil_user() { return $this->db->get('tbl_user'); } function hapus_data($where,$table){ $this->db->where($where); $this->db->delete($table); } //=============================================== End Crud =================================================================// };
Bisa dilihat pada function hapus_data tersebut terdapat fungsi where yang berguna untuk melakukan seleksi query dan delete untuk record mana yang ada didalam tabel yang ingin dihapus.
Sekarang coba jalankan melalui browser untuk melihat hasilnya melalui url :
http://localhost/lebakcyber/index.php/insert_user/tampil_input_user
Lalu hapus salah satu nama dari daftar yang ada didalam tabel, maka nanti secara otomatis data user yang dihapus tersebut akan terhapus dari database. Semoga tutorial sederhana ini dapat bermanfaat, sampai jumpa pada tutorial CodeIgniter selanjutnya.