Belajar CodeIgniter #07: Cara Membuat Halaman Admin (CRUD)

Profile
Prasatya

17 Februari 2025

Belajar CodeIgniter #07: Cara Membuat Halaman Admin (CRUD)

Belajar CodeIgniter #07 - Dalam pengembangan web, memiliki halaman admin adalah bagian penting untuk mengelola konten dengan lebih mudah. Pada tutorial kali ini, kita akan membahas cara membuat halaman admin di CodeIgniter, termasuk implementasi CRUD (Create, Read, Update, Delete). Ini adalah kelanjutan dari tutorial sebelumnya, di mana kita telah belajar tentang penggunaan model dan database di CodeIgniter.

Persiapan Sebelum Membuat Halaman Admin

Sebelum kita mulai, pastikan Anda sudah memiliki proyek CodeIgniter yang telah dikonfigurasi dengan database. Kita akan menggunakan struktur MVC (Model-View-Controller) dalam membangun halaman admin ini.

Langkah awal yang perlu dilakukan adalah:

  1. Membuat folder khusus untuk admin di dalam application/controllers/.
  2. Menyiapkan database dan model yang akan digunakan.
  3. Membuat tampilan (view) untuk halaman admin.
  4. Mengatur rute (routing) untuk mengakses halaman admin.
  5. Menambahkan sistem autentikasi agar hanya pengguna tertentu yang dapat mengakses halaman admin.

Mari kita mulai dengan membuat controller untuk halaman admin.

Baca Juga: Belajar CodeIgniter #06: Cara Menggunakan Model dan Databasehttps://www.codepolitan.com/blog/belajar-codeigniter-06-cara-menggunakan-model-dan-database/

Membuat Controller Admin

Controller berfungsi untuk mengelola logika bisnis dan menjadi penghubung antara model dan view. Buatlah folder baru di dalam application/controllers/ dengan nama admin, lalu tambahkan beberapa file controller seperti berikut:

1. Dashboard Controller

Buat file Dashboard.php dalam folder controllers/admin/ dengan isi berikut:

<?php class Dashboard extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper('url'); } public function index() { $this->load->view('admin/dashboard'); } }

Controller ini akan menampilkan halaman dashboard admin.

2. Post Controller

Controller ini digunakan untuk mengelola artikel atau postingan. Buat file Post.php dengan isi berikut:

<?php class Post extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Post_model'); } public function index() { $data['posts'] = $this->Post_model->get_posts(); $this->load->view('admin/post_list', $data); } public function add() { $this->load->view('admin/post_add'); } public function edit($id) { $data['post'] = $this->Post_model->get_post_by_id($id); $this->load->view('admin/post_edit', $data); } public function delete($id) { $this->Post_model->delete_post($id); echo "Post berhasil dihapus"; } }

3. Feedback Controller

Buat file Feedback.php untuk menampilkan daftar feedback dari contact form:

<?php class Feedback extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Feedback_model'); } public function index() { $data['feedbacks'] = $this->Feedback_model->get_feedbacks(); $this->load->view('admin/feedback_list', $data); } }

4. Setting Controller

Buat file Setting.php untuk mengelola pengaturan website:

<?php class Setting extends CI_Controller { public function index() { $this->load->view('admin/setting'); } }

Membuat Model untuk CRUD

Untuk mengelola data di database, kita membutuhkan model. Buat file Post_model.php di dalam application/models/ dengan isi berikut:

<?php class Post_model extends CI_Model { public function get_posts() { return $this->db->get('posts')->result(); } public function get_post_by_id($id) { return $this->db->get_where('posts', ['id' => $id])->row(); } public function insert_post($data) { return $this->db->insert('posts', $data); } public function update_post($id, $data) { $this->db->where('id', $id); return $this->db->update('posts', $data); } public function delete_post($id) { $this->db->where('id', $id); return $this->db->delete('posts'); } }

Baca Juga: Belajar CodeIgniter #05: Cara Menggunakan View dan CSS pada CodeIgniter

Membuat View untuk Halaman Admin

Setelah controller dan model siap, kita perlu membuat tampilan halaman admin. Buatlah folder admin di dalam application/views/, lalu tambahkan beberapa file berikut:

1. Dashboard View

Buat file dashboard.php dengan isi berikut:

<h1>Selamat datang di Halaman Admin</h1> <p>Ini adalah dashboard utama. Anda bisa mengelola konten di sini.</p>

2. Post List View

Buat file post_list.php dengan isi berikut:

<h1>Daftar Postingan</h1> <a href="<?= base_url('admin/post/add') ?>">Tambah Post</a> <ul> <?php foreach ($posts as $post): ?> <li><?= $post->title ?> - <a href="<?= base_url('admin/post/edit/' . $post->id) ?>">Edit</a> | <a href="<?= base_url('admin/post/delete/' . $post->id) ?>">Hapus</a></li> <?php endforeach; ?> </ul>

Kesimpulan

Dengan mengikuti langkah-langkah di atas, kita telah berhasil membuat halaman admin dengan fitur CRUD di CodeIgniter. Anda sekarang bisa menambahkan fitur lain seperti autentikasi admin atau pagination untuk meningkatkan fungsionalitas.

Image

Jika Anda ingin berdiskusi lebih lanjut, baik sebagai pemula maupun ahli, CodePolitan memiliki fitur komunitas di mana Anda dapat bertanya, membaca, dan menulis pemikiran Anda. Yuk, bergabung sekarang!

What do you think?

Reactions