Cara Membuat crud ajax upload datables codeigniter 3

Tentu, saya akan bantu membuatkan contoh CRUD (Create, Read, Update, Delete) dengan AJAX, Upload File, dan DataTables menggunakan CodeIgniter 3.

Ini akan menjadi panduan langkah demi langkah yang cukup panjang, jadi mari kita mulai.

Struktur Proyek yang Akan Kita Buat:

1.Database: crud_ajax_ci3 (dengan tabel items)

2.CodeIgniter 3: Instalasi dasar

3.Aset: jQuery, DataTables, Bootstrap (untuk tampilan)

Langkah 1: Persiapan Database

Buat database baru dengan nama crud_ajax_ci3. Kemudian, buat tabel items dengan struktur sebagai berikut:

 

Langkah 2: Instalasi CodeIgniter 3

  1. Unduh CodeIgniter 3 dari situs resminya: https://codeigniter.com/download
  2. Ekstrak file ke direktori server web Anda (misalnya htdocs jika Anda menggunakan XAMPP/WAMP, atau www jika Anda menggunakan Laragon). Beri nama foldernya crud_ajax_ci3.

Langkah 3: Konfigurasi CodeIgniter

Buka folder application/config/ dan edit file-file berikut:

1. config.php

Ubah base_url sesuai dengan URL proyek Anda:

2. database.php

Konfigurasi koneksi database Anda:

3. autoload.php

Muat library yang akan kita gunakan:

 

Langkah 4: Membuat Model (Item_model.php)

Buat file baru di application/models/Item_model.php:

Langkah 5: Membuat Controller (Items.php)

Buat file baru di application/controllers/Items.php:

Langkah 6: Membuat View (item_view.php)

Buat file baru di application/views/item_view.php:

Langkah 7: Buat Folder uploads dan assets

  1. Buat folder baru di root proyek Anda (sejajar dengan application dan system) dengan nama uploads. Folder ini akan digunakan untuk menyimpan gambar yang diunggah.
  2. Buat folder assets di root proyek Anda. Di dalamnya, buat subfolder bootstrap, datatables, jquery, dan bootstrap-datepicker.
    • assets/bootstrap/css/: Letakkan bootstrap.min.css di sini.
    • assets/bootstrap/js/: Letakkan bootstrap.min.js di sini.
    • assets/datatables/css/: Letakkan dataTables.bootstrap.min.css di sini.
    • assets/datatables/js/: Letakkan jquery.dataTables.min.js dan dataTables.bootstrap.min.js di sini.
    • assets/jquery/: Letakkan jquery-2.2.3.min.js (atau versi jQuery lain) di sini.
    • assets/bootstrap-datepicker/css/: Letakkan bootstrap-datepicker3.min.css di sini.
    • assets/bootstrap-datepicker/js/: Letakkan bootstrap-datepicker.min.js di sini.

    Anda bisa mendapatkan file-file ini dari sumber resmi masing-masing:


Langkah 8: Uji Coba Aplikasi

Buka browser Anda dan akses: http://localhost/crud_ajax_ci3/items

Anda seharusnya melihat halaman dengan tabel kosong dan tombol “Tambah Item”.

Cara Menggunakan:

  1. Tambah Item: Klik tombol “Tambah Item”, isi formulir, dan Anda bisa mengunggah gambar.
  2. Edit Item: Klik tombol “Edit” di baris tabel. Anda bisa mengubah data dan mengganti atau menghapus gambar yang sudah ada.
  3. Hapus Item: Klik tombol “Delete” di baris tabel. Akan ada konfirmasi sebelum menghapus data dan gambar terkait.
  4. Pencarian & Pagination: DataTables secara otomatis menyediakan fungsionalitas pencarian dan pagination.

Penjelasan Singkat Kode:

  • Item_model.php: Mengelola interaksi dengan database untuk tabel items. Ini mencakup fungsi untuk mendapatkan data DataTables (dengan filtering dan ordering), serta fungsi CRUD dasar (save, update, get_by_id, delete_by_id).
  • Items.php (Controller):
    • index(): Memuat view utama.
    • ajax_list(): Endpoint AJAX untuk DataTables. Mengambil data dari model dan memformatnya menjadi JSON yang dapat dibaca oleh DataTables.
    • ajax_add(): Menangani penambahan item baru, termasuk proses upload gambar.
    • ajax_edit(): Mengambil data item berdasarkan ID untuk mengisi form edit.
    • ajax_update(): Menangani pembaruan item, termasuk logic untuk mengganti atau menghapus gambar.
    • ajax_delete(): Menghapus item dan gambar terkait dari server.
    • _do_upload(): Fungsi private untuk menangani proses upload gambar menggunakan library Upload CodeIgniter.
    • _validate(): Fungsi private untuk validasi input form.
  • item_view.php (View):
    • Tampilan utama yang berisi tabel DataTables dan tombol-tombol aksi.
    • Modal Bootstrap digunakan untuk form tambah/edit item.
    • Kode JavaScript menggunakan jQuery dan DataTables API untuk:
      • Menginisialisasi DataTables.
      • Mengirim permintaan AJAX untuk operasi CRUD.
      • Menampilkan/menyembunyikan modal.
      • Menangani tampilan preview gambar dan opsi hapus gambar.

Penting:

  • Pastikan Anda mengunduh dan menempatkan semua file aset (CSS/JS) di lokasi yang benar sesuai dengan struktur assets yang saya jelaskan.
  • Sesuaikan base_url di config.php dan kredensial database di database.php.
  • Hak akses folder uploads harus diatur agar server web bisa menulis file ke dalamnya. Di Linux/macOS, Anda mungkin perlu menjalankan chmod -R 777 uploads. Di Windows, pastikan user IIS/Apache memiliki hak tulis.
  • Ini adalah contoh dasar. Untuk proyek produksi, Anda mungkin perlu menambahkan lebih banyak validasi, otentikasi, sanitasi input, dan penanganan error yang lebih robust.

Semoga panduan ini membantu Anda dalam membuat CRUD AJAX dengan Upload dan DataTables di CodeIgniter 3!