Codeigniter 3 – CRUD Bagian 3 Hapus Data

بِسْمِ اللَّهِ Mudah-mudahan tutorial Codeigniter 3 – CRUD Bagian 3 Hapus Data ini bermanfaat

Bagian kedua dari CRUD adalah hapus data atau biasa kita menyebutnya delete data. Validasi data disini juga diperlukan, karena berhubungan dengan menghilangkan data. Pada tutorial ini, hapus data disini hanya mengubah status data (aktif dan tidak aktif). Nanti juga akan disertakan script untuk benar-benar menghilangkan data dengan benar sebenar-benarnya.

Persiapan Codeigniter 3 – CRUD Bagian 3 Hapus Data

Untuk melanjutkan tutorial pastikan sudah:

Editor Visual Studio Code
Sudah mengerjakan tutorial List Data di Codeigniter 3 – CRUD List Data dengan Pagination
Mengerjakan CRUD Bagian 1 pada Codeigniter 3 – CRUD Bagian 1 Tambah Data
CRUD Bagian 2 pada Codeigniter 3 – CRUD Bagian 2 Edit Data

Pertama

Sama seperti tutorial sebelumnya Edit Data yaitu dengan menambahkan kolom pada list data yaitu tombol delete. Buka file view list (application\views\product\list.php). Tambahkan script berikut untuk tombol delete

                                                    <a href="<?= base_url('product/delete/' . $row->id); ?>" class="btn btn-danger btn-circle btn-sm" onclick="return confirm('Apakah anda yakin ?');">
                                                        <i class="fas fa-trash"></i>
                                                    </a>

Sehingga file list.php secara lengkapnya seperti ini

                    <div class="card shadow mb-4">
                        <div class="card-header py-3">
                            <h6 class="m-0 font-weight-bold text-primary"><?= $title; ?></h6>
                            <div class="row">
                                <div class="col">
                                    <div class="text-center"><?= $links; ?></div> 
                                </div> 
                            </div>
                        </div>
                        <div class="card-body">
                            <div class="table-responsive">
                                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                                    <thead>
                                        <tr>
                                            <th>ID</th>
                                            <th>Nama Produk</th>
                                            <th>Deskripsi</th>
                                            <th>Gambar</th>
                                            <th width="95px"></th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php
                                            foreach ($products as $row) {
                                        ?>
                                            <tr>
                                                <td><?= $row->id; ?></td>
                                                <td><?= $row->product_name; ?></td>
                                                <td><?= $row->description; ?></td>
                                                <td>
                                                    <img height="60px" src="<?= base_url().'/assets/upload/image/'.$row->url; ?>" />
                                                </td>
                                                <td align='center'>
                                                    <a href="<?= base_url('product/edit/' . $row->id); ?>" class="btn btn-warning btn-circle btn-sm">
                                                        <i class="fas fa-edit"></i>
                                                    </a>
                                                    <a href="<?= base_url('product/delete/' . $row->id); ?>" class="btn btn-danger btn-circle btn-sm" onclick="return confirm('Apakah anda yakin ?');">
                                                        <i class="fas fa-trash"></i>
                                                    </a>
                                                </td>
                                            </tr>
                                        <?php
                                        }
                                        ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>                        

Tampilannya akan seperti ini

Tampilan delete waktu dijalankan (klik tombol delete pada list data)

Akan muncul konfirmasi penghapusan data

Kedua

Tambahkan pada controller Product (application\controllers\Product.php) dengan fungsi delete. Scriptnya sebagai berikut:

    public function delete($id)
    {
        if ($this->ion_auth->logged_in()) {
            $this->product_model->delete($id);
            redirect('product');
        } else {
			redirect('auth/login');
        }
    }

Sama dengan fungsi-fungsi sebelumnya (add, save, edit dan update), fungsi delete ini bisa dijalankan dengan otorisasi, artinya hanya user yang sudah login yang akan bisa menggunakan fungsi-fungsi tersebut.

Dan ini masih bisa dikembangkan lagi, dengan menambahkan role user. Misalnya user dengan role tertentu saja yang bisa membuka atau menggunakan fungsi-fungsi tersebut.

Ketiga

Tambahkan fungsi delete data pada model (application\models\Product_model.php). Fungsi ini yang dipanggil dari controller diatas. Sebut saja nama fungsinya delete, scriptnya sebagai berikut:

    function delete($id) {
        // $this->db->where('id', $id);
        // $this->db->delete('products');
        $data = array(
            'update_date' => date("Y-m-d H:i:s"),
            'update_by' => $this->ion_auth->user()->row()->username,
            'active' => '0',
        );
        $this->db->where('id', $id);
        $this->db->update('products', $data);
    }

Fungsi penghapusan data yang sebenarnya, tinggal di-uncomment jika diperlukan, dan jangan lupa di-comment atau menghilangkan script yang setelahnya. Seperti dibawah ini

     function delete($id) {
         $this->db->where('id', $id);
         $this->db->delete('products');
    }

Akhirnya

Sampai disini sudah selesai untuk tutorial Codeigniter 3 – CRUD Bagian 3 Hapus Data. Silakan dilanjutkan dan dikembangkan.

Mudah-mudahan bermanfaat.

Share

You may also like...

1 Response

  1. You ought to take part in a contest for one of the best websites on the net. I am going to highly recommend this website!

Leave a Reply

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