CRUD dan Multi-Controller Route dengan CodeIgniter
Link Referensi: Petani Kode - Database
Link Source Code Lengkap: Source Code Program
1. Siapkan Database
Aktifkan Apache dan MySQL pada aplikasi XAMPP-Control, seperti pada gambar berikut:
Buka http://localhost/phpmyadmin/ kemudian buat database dengan menekan New pada navbar sebelah kiri seperti yang yang ditandai warna merah. Kemudian isikan nama database pada textbox yang ditandai dengan warna biru. Kemudian gunakan jenis database yang ingin digunakan, disini saya menggunakan utf8mb4_unicode_ci. Kemudian tekan tombol create yang ditandai warna hijau.
Buat Tabel baru beserta isi kolom-kolomnya. disini saya membuat tabel event dengan terdiri dari 6 kolom dimana kurang lebih akan tampil
seperti berikut ini:
2. Configurasi Database di VSCode
Buka config/database.php, kemudian ubah pada value-value yang di blok kursor pada gambar, disini
saya menggunakan localhost sehingga seperti berikut ini:
3. Setting Tampilan View yang Terhubung Database
Kemudian buka
config/autoload.php, cari $autoload['libraries'] dan tambahkan database dan session sehingga tampak seperti pada pada gambar berikut:
Buat file pada direktori application/model/ dengan nama "database"_model.php. Karena nama database saya Achievement maka namanya akan menjadi Achievement_model.php. Seperti pada gambar berikut:
Setting Controler untuk menangani HTTP Request dan menghubungkan Model dan View. Buka direktori application/controllers/Welcome.php dan tambahkan pada index() 2 buah pemanggilan sehingga tampak seperti berikut:
Ubah file view pada direktori application/views/ sehingga menyesuaikan pengambilan dari database. Pada contoh saya terdapat pada file mine.php untuk menampilkan kepanitiaan. sehingga source code yang digunakan dapat seperti berikut ini:
4. !!!BONUS!!! Setting Banyak Controller untuk Banyak Page dalam Routes.php
Salah satu rasa bingung yang muncul ketika akan membuat banyak page adalah routing controllernya. Disini akan dijelaskan secara singkat tentang cara mengaturnya untuk jenis apache web servcr. Pertama-tama buat file baru bernama .htaccess pada folder root. Dimana pada milik saya ada di folder Belajar-CI. Seperti pada gambar Berikut:
Kemudian isi folder dengan source code berikut:
Berikutnya, pada application/config/routes.php tambahkan route yang diinginkan. dimana pada file disini yang berwarna merah merupakan nama controller pada direktori application/controllers/ dan warna hijau merupakan nama class pada file controller bersangkutan. Seperti pada gambar berikut:
Berikutnya disini saya contohkan dengan memindahkan konfigurasi controller pada direktori application/controllers/ dari file Welcome.php ke about.php dan contact.php serta merubah nama class serta fungsi menjadi index(). Sehingga source code tampil seperti berikut:
Kemudian untuk memanggilnya cukup dengan memanggil controller yang diinginkan seperti contoh memanggil halaman contact berikut:
5. Menambahkan Tampilan Create, Update Delete yang Terhubung Database
Pertama-tama tambahkan route dan controller baru seperti pada step 4 dengan nama backend controller backend.php, nama class backend, dan nama file untuk view backend_db.php untuk menampilkan list data yang terdapat di database sehingga memudahkan ketika melakukan perubahan pada database.
Setelah selesai, buat file form_event_new.php dan form_event_edit.php didalam folder template. Source code sudah tersedia di github.
untuk mengetest tampilan, pada browser saya, cukup dengan http://localhost/Belajar-CI/backend. maka akan tampil sisi CRUD diluar tampilan website utama. Seperti pada contoh berikut:
Comments