You are currently viewing Membuat CRUD (Create, Read, Update, Delete) dengan CodeIgniter 3 – Mengedit Data dari Database

Membuat CRUD (Create, Read, Update, Delete) dengan CodeIgniter 3 – Mengedit Data dari Database

Membuat CRUD dengan CODEIGNITER 3 : Mengedit Data Dari Database Hallo teman – teman semua bagaimana nih kabarnya semoga selalu diberikan kesehatan ya. Pada tutorial kali ini kita akan melanjutkan materi tentang CRUD menggunakan CodeIgniter 3 (CI-3). Pada tutorial kita sebelumnya kita sudah membahas tentang bagaimana caranya menampilkan data dari database menggunakan Codeigniter 3 dan Cara menambah data baru kedalam database.

Pada tutorial kali ini kita akan membagi materi ini ke dalam beberapa part pembahasan. Tujuannya agar teman-teman mudah dalam memahami konsep dari pembuatan fungsi CRUD dengan menggunakan Codeigniter 3 (CI-3) ini. Adapun pembahasannya yaitu:

  1. Membuat Fungsi Menampilkan Data dari Database (Baca Disini)
  2. Membuat Fungsi Menambah Data Ke Database (Baca Disini)
  3. Membuat Fungsi Mengedit Data dari Database (Baca Disini)
  4. Membuat Fungsi Menghapus Data dari Database (Baca Disini)

Jadi pada pembahasan kali ini kita akan masuk ke dalam pembahasan ketiga yaitu Membuat Fungsi Mengedit Data dari Database menggunakan Codeigniter 3 (CI-3).

Cara Membuat CRUD Untuk mengubah data pada Database

Sebelum membuat fungsi edit data pada CodeIgniter. Pastikan pada file tampilan view home kita sudah menambahkan fungsi hyperlink data berdasarkan ID atau NIM dari mahasiswa tersebut. Adapun tampilan dari Hyperlink tersebut dapat dilihat pada sintak dibawah ini

<a href="<?php echo base_url('/home/halaman_edit') ?>/<?php echo $row->nim ?>">Edit</a>

Pada sintak diatas, kita memanggil parameter berupa NIM pada fungsi HREF kita. Sintak ini kita kita letakkan pada kolom aksi di file application/views/home.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Halaman Home</title>
    <link rel="stylesheet" href="">
</head>
<body>
    <h1>Data Mahasiswa Kecoak Sakti</h1>

    <a href="<?php echo base_url('/home/halaman_tambah') ?>">Tambah Mahasiswa</a>
    <br>
    <br>
    <table border="1">
        <tr>
            <td>No</td>
            <td>NIM</td>
            <td>Nama</td>
            <td>Jurusan</td>
            <td>Aksi</td>
        </tr>
        <?php 
            $count = 0;
            foreach ($queryAllMhs as $row) {
                $count = $count + 1;
         ?>
        <tr>
            <td><?php echo $count ?></td>
            <td><?php echo $row->nim ?></td>
            <td><?php echo $row->nama ?></td>
            <td><?php echo $row->jurusan ?></td>
            <td><a href="<?php echo base_url('/home/halaman_edit') ?>/<?php echo $row->nim ?>">Edit</a> | <a href="<?php echo base_url('/home/fungsiDelete') ?>/<?php echo $row->nim ?>">Delete</a></td>
        </tr>
        <?php } ?>
    </table>
</body>
</html>

Selanjutnya, untuk membuat fungsi edit data atau update data menggunakan Codeigniter, kita perlu menambahkan terlebih dahulu beberapa fungsi pada File Model kita. Fungsi ini akan digunakan sebagai fungsi untuk mengambil data detail dari suatu data berdasarkan id atau primary key dari suatu data dan fungsi untuk mengedit data berdasarkan id atau primary key dari data tersebut. Pertama-tama kita tambahkan dulu dua fungsi baru pada model M_Mahasiswa.php di application/models/M_Mahasiswa.php

function getDataMahasiswaDetail($nim) {
    $this->db->where('nim', $nim);
    $query = $this->db->get('tb_mahasiswa');
    return $query->row();
}

function updateDataMahasiswa($nim, $data) {
    $this->db->where('nim', $nim);
    $this->db->update('tb_mahasiswa', $data);
}

Coba perhatikan pada sintak diatas. Fungsi getDataMahasiswaDetail() digunakan untuk menampilkan satu buah data berdasarkan nim mahasiswa. Method ini akan digunakan pada halaman view edit nantinya untuk menampilkan data lama yang akan kita update. Sedangkan fungsi updateDataMahasiswa() digunakan untuk mengedit data lama berdasarkan nim mahasiswa. pada method ini kita juga mengirim variabel $data untuk menyimpan data baru yang akan diupdate.

Kemudian kita tambahkan fungsi atau method baru pada file Controller Home.php di application/controllers/Home.php. Pada File Controller ini kita menambahkan dua method baru dengan nama halaman_edit() yang digunakan untuk memanggil dan menangkap nilai nim pada halaman view edit. Data nim ini diperoleh dari tabel Mahasiswa pada halaman home ketika kita menekan button atau aksi edit. Pada file Controller ini kita juga membuat fungsi baru dengan nama fungsiEdit() yang berguna untuk menangkap data yang dikirim dari halaman view edit untuk diproses dan disimpan kedalam database kita

public function halaman_edit($nim)
{
    $queryMahasiswaDetail = $this->M_Mahasiswa->getDataMahasiswaDetail($nim);
    $DATA = array('queryMhsDetail' => $queryMahasiswaDetail);
    $this->load->view('halaman_edit_mhs', $DATA);
}

public function fungsiEdit()
{
    $nim = $this->input->post('nim');
    $nama = $this->input->post('nama');
    $jurusan = $this->input->post('jurusan');

    $ArrUpdate = array(
        'nama' => $nama,
        'jurusan' => $jurusan
    );

    $this->M_Mahasiswa->updateDataMahasiswa($nim, $ArrUpdate);
    redirect(base_url(''));
}

Coba perhatikan pada fungsi atau Method fungsiEdit(). Pada fungsi ini kita hanya menyimpan data nim dan jurusan pada sebuah array. Hal ini dikarenakan pada aksi kali ini kita hanya perlu melakukan perubahan pada dua data tersebut. Sedangkan data nim digunakan sebagai data Referensi atau Primary Key dari data yang akan kita update

$ArrUpdate = array(
    'nama' => $nama,
    'jurusan' => $jurusan
);

Selanjutnya data tersebut akan dikirim ke fungsi Model kita menggunakan sintak dibawah ini. Jika proses Update data berhasil kita akan diarahkan kehalaman Home

$this->M_Mahasiswa->updateDataMahasiswa($nim, $ArrUpdate);

Kemudian kita buat halaman view baru dengan nama halaman_edit_mhs.php di application/views/halaman_edit_mhs.php untuk menampilkan form edit data kita. pada halaman ini kita juga memanggil data mahasiswa berdasarkan nim dan ditampilkan kedalam form tersebut.

<!DOCTYPE html>
<html>
<head>
    <title>Halaman Edit Mahasiswa</title>
</head>
<body>
    <h3>Halaman Edit Mahasiswa</h3>
    <form action="<?php echo base_url('home/fungsiEdit') ?>" method="post">
    <table>
        <tr>
            <td>NIM</td>
            <td>:</td>
            <td><input type="text" name="nim" value="<?php echo $queryMhsDetail->nim ?>" readonly></td>
        </tr>
        <tr>
            <td>Nama</td>
            <td>:</td>
            <td><input type="text" name="nama" value="<?php echo $queryMhsDetail->nama ?>"></td>
        </tr>
        <tr>
            <td>Jurusan</td>
            <td>:</td>
            <td><input type="text" name="jurusan" value="<?php echo $queryMhsDetail->jurusan ?>"></td>
        </tr>
        <tr>
            <td colspan="3"><button type="submit">Update Mahasiswa</button></td>
        </tr>
    </table>
    </form>
</body>
</html>

Coba perhatikan pada form NIM. disini kita tidak dapat melakukan perubahan pada data NIM tersebut. Hal ini dikarenakan data NIM ini digunakan sebagai ID atau Primary Key dari data yang akan diedit.

Waktunya menjalankan program ini pada browser kita untuk melihat hasil dari edit data pada database yang kita lakukan. Caranya kita hanya perlu mengunjungi halaman localhost kita seperti dibawah ini

http://localhost/crud/

Lalu kita pilih data yang  akan kita edit terlebih dahulu dengan menekan tombol Edit pada tabel berikut

Selanjutnya Lakukan perubahan data sesuai keinginan kita

Setelah Proses Editing berhasil maka kita akan diarahkan kehalaman home dan melihat data baru yang telah selesai kita edit atau update sebelumnya

Sekian tutorial kita kali ini tentang Cara membuat Fungsi CRUD dengan CodeIgniter 3 (CI-3) pada Part Mengedit atau mengubah data dari database. Untuk tutorial selanjutnya dapat teman-teman lihat pada materi dibawah ini.

Baca Kelanjutannya :

Leave a Reply