Membuat Fungsi Delete Record Menggunakan Codeigniter

Posted in CodeIgniter, Monday, February 4th, 2013, by Muhammad Fahmi Al Azhar

Biasanya, fungsi delete record terdapat di halaman admin sebuah website dimana hanya web administrator saja yang memiliki hak akses untuk melakukannya.

Tutorial ini melanjutkan dari tutorial sebelumnya yang membahas tentang menampilkan data dari dalam database. Di tutorial ini kita akan menambahkan fungsi delete untuk menghapus data tersebut dari dalam database.

Anda dapat menggunakan file di tutorial sebelumnya, dan mengubah source code di tutorial tersebut mengikuti source di bawah:

Delete Record Menggunakan Codeigniter

Berikut ini adalah source code untuk membuat delete record menggunakan Codeigniter. Seperti biasa saya menuliskan source code berurutan dari controller, model, dan terakhir di bagian views.

Controller

Perlu diperhatikan bahwa dari source code di bawah kita menggunakan URL helper dari Codeigniter. Oleh karena itu pastikan anda menyertakan helper URL di folder application/config/autoload.php

$autoload['helper'] = array('url');

Tambahkan source code di user_controller.php menjadi seperti berikut:

user_controller.php

<?php
class User_controller extends CI_Controller{

    function __Construct()
    {
        parent ::__construct();
    }

    function user()
    {
        $this->load->model('user_model');
        $data['judul'] = 'Delete Record Menggunakan Codeigniter';
        $data['daftar_user'] = $this->user_model->get_user_all();
        $this->load->view('daftar_user', $data);
    }

    function delete_user($id_user)
    {
        $this->load->model('user_model');
        $username = $this->user_model->delete_user($id_user);
        redirect('user_controller/user');
    }
}

Model

Bukalah file user_model.php dan tambahkan fungsi untuk melakukan delete record seperti pada source berikut:

user_model.php

<?php
class User_model extends CI_Model{

    function get_user_all()
    {
        $query=$this->db->query("SELECT * FROM user ORDER BY id_user DESC");
        return $query->result();
    }

    function delete_user($id_user)
    {
        $query=$this->db->query("DELETE FROM user WHERE id_user='$id_user'");
    }
}

Views

Bukalah daftar_user.php dan sesuaikan dengan source code berikut ini:

daftar_user.php

<html>
<head>
	<title><?php echo $judul; ?></title>
</head>
<body>
	<h1>Daftar User</h1>
	<table border="1">
		<thead>
		<tr>
			<th>Nama Lengkap</th>
			<th>Username</th>
			<th>Email</th>
			<th>Alamat</th>
			<th>Action</th>
		</tr>
	</thead>
	<tbody>
            <?php
            foreach($daftar_user as $user){
			?>

        <tr>
			<td><?php echo $user->nama_lengkap; ?></td>
			<td><?php echo $user->username; ?></td>
			<td><?php echo $user->email; ?></td>
			<td><?php echo $user->alamat; ?></td>
			<td><?php echo '<a href="'.base_url().'index.php/user_controller/delete_user/'.$user->id_user.'" onclick="return confirm(\'Anda yakin akan menghapus '.$user->username.'?\')">Delete</a>'?></td>
		</tr>
           <?php } ?>
	</tbody>
	<tfoot>
		<tr>
			<th>Nama Lengkap</th>
			<th>Username</th>
			<th>Email</th>
			<th>Alamat</th>
			<th>Action</th>
		</tr>
	</tfoot>
	</table>
</body>
</html>

Cobalah untuk menjalankan aplikasi tersebut dengan URL http://localhost/codeigniter/index.php/user_controller/user

Ketika anda klik delete, maka akan muncul peringatan yang jika di OK maka database akan dihapus dari dalam database.

 

delete record menggunakan codeigniter

Delete Record

Source code: delete_record_codeigniter

Selanjutnya, membuat fungsi update di Codeigniter

Semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *