Cara CRUD CodeIgniter 3 dengan MySQL

 

CodeIgniter adalah framework PHP yang ringan dan powerful, sangat populer di kalangan pengembang web karena kemudahan penggunaan dan kinerjanya yang cepat. Salah satu operasi dasar yang sering dilakukan dalam pengembangan aplikasi web adalah operasi CRUD (Create, Read, Update, Delete) pada basis data. Dalam artikel ini, kita akan mempelajari bagaimana cara membuat operasi CRUD dengan menggunakan CodeIgniter 3 dan MySQL sebagai database.

1. Persiapan Lingkungan Pengembangan

Sebelum memulai, pastikan Anda sudah menyiapkan lingkungan pengembangan dengan beberapa alat berikut:

  • PHP (versi 5.6 atau lebih baru)
  • MySQL atau MariaDB
  • CodeIgniter 3: Unduh versi terbaru CodeIgniter 3 di situs resmi CodeIgniter.

Setelah Anda mengunduh dan menyiapkan CodeIgniter, ekstrak file CodeIgniter dan tempatkan di folder server web Anda (misalnya, di folder htdocs jika Anda menggunakan XAMPP atau di folder www jika menggunakan WAMP).

2. Mengonfigurasi Database MySQL

Sebelum mulai membuat operasi CRUD, Anda harus membuat database di MySQL yang akan digunakan oleh aplikasi CodeIgniter.

2.1. Membuat Database dan Tabel

  1. Masuk ke phpMyAdmin atau gunakan alat manajemen MySQL lain untuk membuat database.
  2. Buat database baru dengan nama crud_db.
  3. Buat tabel untuk menyimpan data. Sebagai contoh, kita akan membuat tabel users dengan struktur seperti berikut:
CREATE DATABASE crud_db;

USE crud_db;

CREATE TABLE users (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    phone VARCHAR(15) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Tabel users ini memiliki kolom id, name, email, phone, dan created_at.

3. Mengonfigurasi CodeIgniter untuk Menghubungkan ke Database

Setelah membuat database dan tabel, langkah selanjutnya adalah mengonfigurasi CodeIgniter agar dapat terhubung ke database yang telah dibuat.

  1. Buka folder aplikasi CodeIgniter Anda dan buka file application/config/database.php.
  2. Temukan pengaturan koneksi database dan sesuaikan dengan detail database Anda:
$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'root', // Ganti dengan username MySQL Anda
    'password' => '',     // Ganti dengan password MySQL Anda
    'database' => 'crud_db',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

4. Membuat Model untuk Operasi Database

Model adalah tempat kita menulis query database. Di CodeIgniter, model bertanggung jawab untuk berinteraksi dengan database.

4.1. Membuat Model User_model

Buat model di dalam folder application/models/. Misalnya, kita buat model dengan nama User_model.php. File ini akan berisi fungsi-fungsi untuk operasi CRUD.

db->insert('users', $data);
    }

    // Read: Mengambil semua data pengguna
    public function get_all_users() {
        $query = $this->db->get('users');
        return $query->result();
    }

    // Update: Mengubah data pengguna berdasarkan ID
    public function update_user($id, $data) {
        $this->db->where('id', $id);
        return $this->db->update('users', $data);
    }

    // Delete: Menghapus pengguna berdasarkan ID
    public function delete_user($id) {
        $this->db->where('id', $id);
        return $this->db->delete('users');
    }

    // Read: Mengambil data pengguna berdasarkan ID
    public function get_user_by_id($id) {
        $this->db->where('id', $id);
        $query = $this->db->get('users');
        return $query->row();
    }
}

Fungsi-fungsi di atas adalah:

  • insert_user: Menambahkan data pengguna baru.
  • get_all_users: Mengambil semua data pengguna dari tabel.
  • update_user: Memperbarui data pengguna berdasarkan ID.
  • delete_user: Menghapus data pengguna berdasarkan ID.
  • get_user_by_id: Mengambil data pengguna berdasarkan ID.

5. Membuat Controller untuk Menangani Request CRUD

Controller bertanggung jawab untuk menerima input dari pengguna, memanggil model untuk mengakses data, dan menampilkan hasil ke pengguna. Kita akan membuat controller User.php untuk menangani operasi CRUD.

5.1. Membuat Controller User.php

Buat file controller di dalam folder application/controllers/. Nama file controller ini adalah User.php.

load->model('User_model');
    }

    // Menampilkan semua pengguna
    public function index() {
        $data['users'] = $this->User_model->get_all_users();
        $this->load->view('user/index', $data);
    }

    // Menambahkan pengguna baru
    public function create() {
        if ($this->input->post()) {
            $data = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'phone' => $this->input->post('phone')
            );
            $this->User_model->insert_user($data);
            redirect('user');
        }
        $this->load->view('user/create');
    }

    // Mengedit pengguna berdasarkan ID
    public function edit($id) {
        $data['user'] = $this->User_model->get_user_by_id($id);

        if ($this->input->post()) {
            $data = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'phone' => $this->input->post('phone')
            );
            $this->User_model->update_user($id, $data);
            redirect('user');
        }

        $this->load->view('user/edit', $data);
    }

    // Menghapus pengguna berdasarkan ID
    public function delete($id) {
        $this->User_model->delete_user($id);
        redirect('user');
    }
}

Controller ini menangani empat operasi utama:

  • index(): Menampilkan semua pengguna.
  • create(): Menambahkan pengguna baru ke database.
  • edit($id): Mengedit data pengguna berdasarkan ID.
  • delete($id): Menghapus pengguna berdasarkan ID.

6. Membuat View untuk Tampilan Pengguna

Sekarang, kita perlu membuat tampilan (view) untuk menampilkan data pengguna dan form input. Tampilan ini akan berada di dalam folder application/views/.

6.1. View index.php (Menampilkan Semua Pengguna)

Buat file index.php di folder application/views/user/ untuk menampilkan daftar pengguna.

Daftar Pengguna

Daftar Pengguna

IDNamaEmailTeleponAksi
        id) ?>">Edit id) ?>">Hapus

6.2. View create.php (Form Tambah Pengguna)

Buat file create.php di folder application/views/user/ untuk form input pengguna baru.

Tambah Pengguna

Tambah Pengguna Baru







6.3. View edit.php (Form Edit Pengguna)

Buat file edit.php di folder application/views/user/ untuk form edit pengguna.

Edit Pengguna

Edit Pengguna







7. Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat aplikasi CRUD sederhana menggunakan CodeIgniter 3 dan MySQL. Anda dapat mengembangkan aplikasi ini lebih lanjut dengan menambahkan fitur lain seperti validasi form, pagination, atau fitur pencarian. Sebagai catatan, pastikan untuk selalu menjaga keamanan aplikasi dengan menggunakan prepared statements untuk mencegah SQL injection, dan juga pastikan data yang dimasukkan sudah divalidasi dengan benar.

 

 

Dadang Heksa

Itaque quidem optio quia voluptatibus dolorem dolor. Modi eum sed possimus accusantium. Quas repellat voluptatem officia numquam sint aspernatur voluptas. Esse et accusantium ut unde voluptas.

8 Comments

Georgia Reader Reply

Et rerum totam nisi. Molestiae vel quam dolorum vel voluptatem et et. Est ad aut sapiente quis molestiae est qui cum soluta. Vero aut rerum vel. Rerum quos laboriosam placeat ex qui. Sint qui facilis et.

Aron Alvarado Reply

Ipsam tempora sequi voluptatem quis sapiente non. Autem itaque eveniet saepe. Officiis illo ut beatae.

Lynda Small Reply

Enim ipsa eum fugiat fuga repellat. Commodi quo quo dicta. Est ullam aspernatur ut vitae quia mollitia id non. Qui ad quas nostrum rerum sed necessitatibus aut est. Eum officiis sed repellat maxime vero nisi natus. Amet nesciunt nesciunt qui illum omnis est et dolor recusandae. Recusandae sit ad aut impedit et. Ipsa labore dolor impedit et natus in porro aut. Magnam qui cum. Illo similique occaecati nihil modi eligendi. Pariatur distinctio labore omnis incidunt et illum. Expedita et dignissimos distinctio laborum minima fugiat. Libero corporis qui. Nam illo odio beatae enim ducimus. Harum reiciendis error dolorum non autem quisquam vero rerum neque.

Sianna Ramsay Reply

Et dignissimos impedit nulla et quo distinctio ex nemo. Omnis quia dolores cupiditate et. Ut unde qui eligendi sapiente omnis ullam. Placeat porro est commodi est officiis voluptas repellat quisquam possimus. Perferendis id consectetur necessitatibus.

Nolan Davidson Reply

Distinctio nesciunt rerum reprehenderit sed. Iste omnis eius repellendus quia nihil ut accusantium tempore. Nesciunt expedita id dolor exercitationem aspernatur aut quam ut. Voluptatem est accusamus iste at. Non aut et et esse qui sit modi neque. Exercitationem et eos aspernatur. Ea est consequuntur officia beatae ea aut eos soluta. Non qui dolorum voluptatibus et optio veniam. Quam officia sit nostrum dolorem.

Kay Duggan Reply

Dolorem atque aut. Omnis doloremque blanditiis quia eum porro quis ut velit tempore. Cumque sed quia ut maxime. Est ad aut cum. Ut exercitationem non in fugiat.

Leave a Reply

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