Seri #8 – Tutorial Belajar Framework CodeIgniter untuk Pemula | Menghapus Data pada Database


Seri #8 – Tutorial Belajar Framework CodeIgniter untuk Pemula | Menghapus Data pada Database – Sesuai dengan janji saya sebelumnya pada seri ke-7, pada seri ke-8 ini kita akan membuat fungsi CRUD kedua yaitu menghapus data pada database dengan menggunakan framework CodeIgniter.

Review

Pada bagian view daftar_mahasiswa.php terdapat baris berikut:

<a href="<?php echo site_url('mahasiswa/hapus/' . $data['nim']) ?>">Hapus</a>

Perintah di atas digunakan memanggil method hapus pada controller mahasiswa ketika user menekan link Hapus. Pada baris tersebut juga terdapat sebuah variabel bernama $data[‘nim’], variabel inilah yang digunakan sebagai acuan kita dalam menghapus data.

Membuat Method Hapus pada Controller

Silakan teman-teman buka kembali controller mahasiswa lalu tambahkan method berikut:

public function hapus($nim)
{
	$this->load->database();
	$this->load->model('mahasiswa_model');
	$hapus = $this->mahasiswa_model->delete_mahasiswa($nim);

	if($hapus) {
		redirect(site_url('mahasiswa'));
	}
}

Di dalam method hapus terdapat 1 buah argumen bernama $nim yang akan digunakan sebagai dasar menghapus data. Tidak lupa kita juga harus me-load database dan model-nya. Pada baris ke-5 kita akan memanggil method delete_mahasiswa($nim) yang ada di dalam model mahasiswa_model (sampai disini kita belum membuat model delete_mahasiswa).

Sehingga secara utuh controller mahasiswa akan menjadi seperti ini:

<?php 

class Mahasiswa extends CI_Controller {

	public function index()
	{
		$this->load->database();
		$this->load->model('mahasiswa_model');

		$data['mahasiswa'] = $this->mahasiswa_model->get_mahasiswa();
		$this->load->view('daftar_mahasiswa', $data);
	}


	public function hapus($nim)
	{
		$this->load->database();
		$this->load->model('mahasiswa_model');
		$hapus = $this->mahasiswa_model->delete_mahasiswa($nim);

		if($hapus) {
			redirect(site_url('mahasiswa'));
		}
	}
}

Membuat Method delete_mahasiswa pada Model

Kita juga akan membuat sebuah method baru bernama delete_mahasiswa pada model. Sesuai namanya, method ini bertugas menjalankan query delete. Buka model mahasiswa_model lalu tambahkan baris berikut:

public function delete_mahasiswa($nim)
{
	return $this->db->delete('mahasiswa', ['nim' => $nim]);
}

Maka seharusnya model mahasiswa_model akan menjadi seperti ini:

<?php 

class Mahasiswa_model extends CI_Model {

	public function get_mahasiswa()
	{
		$query = $this->db->get('mahasiswa');
		return $query->result_array();
	}


	public function delete_mahasiswa($nim)
	{
		return $this->db->delete('mahasiswa', ['nim' => $nim]);
	}
}

Apabila dijalankan menggunakan web browser dengan alamat localhost/belajarci/index.php/mahasiswa lalu menekan salah satu link Hapus maka data tersebut akan langsung terhapus dari database.

Lalu jika kita ingin memberikan sebuah konfirmasi saat user menekan link Hapus, maka kita bisa memodifikasi file view daftar_mahasiswa.php menjadi seperti ini:

<a href="<?php echo site_url('mahasiswa/hapus/' . $data['nim']) ?>" onclick="return confirm('Yakin ingin menghapus data ini?')">Hapus</a>

Sehingga apabila dijalankan melalui alamat localhost/belajarci/index.php/mahasiswa lalu menekan link Hapus maka akan muncul pesan konfirmasi seperti pada gambar berikut:

Muncul Konfirmasi Saat User Akan Menghapus Data Mahasiswa

Nah, selesai sudah seri ke-8 kita ini tentang menghapus data pada database dengan menggunakan framework CodeIgniter. Pada artikel selanjutnya kita akan membuat fitur tambah data. Tetap stay tuned dan semoga bermanfaat 🙂

Tinggalkan Komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.