Friday , March 29 2024

Update Data Dengan CodeIgniter dan MySQL

Update Data Dengan CodeIgniter dan MySQL

lebakcyer.net – Update data dengan CodeIgniter dan MySQL. Oke sekarang kita masuk pada pembahasan terakhir mengenai CRUD di CodeIgniter dan MySQL yaitu bagaiamana cara melakukan update data pada CodeIgniter dan MySQL. Sebelum mengikuti tutorial ini, ada baiknya kalian mengikuti tutorial mengenai CodiIgniter lainnya yang sebelumnya sudah pernah dibahas, daftarnya ada di bawah ini :

Untuk melakukan update atau perubahan data pada CodeIgniter caranya tidak begitu sulit, jadi langsung saja kita ikuti langkah bagaimana cara mengupdate data melalui framework CodeIgniter dibawah ini.

Kita buka lagi file insert_user.php yang ada pada views – insert_user.php yang pada tutorial sebelumnya sidah dibuat dimana file insert_user.php tersebut dapat kita gunakan untuk menginput data dan menampilkan data dari CodeIgniter dan MySQL. Selanjutnya pada bagian kolom ubah Daftar User ubah kodenya menjadi seperti dibawah ini :

<?php echo anchor('index.php/edit/tampil/' . $u->nama, 'Ubah'); ?>

Dan berikut ini adalah code lengkap dari file view – insert_user.php :

<!DOCTYPE html>
<html>

<head>
    <title>Insert Data dengan CodeIgniter | lebakcyber.net</title>
</head>

<body>
    <center>
        <h1>Insert Data dengan CodeIgniter | lebakcyber.net</h1>
        <h3>Tambah user baru</h3>
    </center>

    <form action="<?php echo base_url('index.php/insert_user/input_user'); ?>" method="post">
        <table style="margin:20px auto;">
            <tr>
                <td>Nama</td>
                <td><input type="text" name="nama" required></td>
            </tr>
            <tr>
                <td>Email</td>
                <td><input type="email" name="email" required></td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type="password" name="pass"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" onclick="return confirm('Apakah anda yakin menyimpan data user?')" value="Tambah User"></td>
            </tr>
        </table>

        <center>
            <h1>Daftar User</h1>
        </center>
        <table style="margin:20px auto;" border="1">
            <tr>
                <th>No</th>
                <th>Nama</th>
                <th>Email</th>
                <th>Password</th>
                <th>Aksi</th>
            </tr>
            <?php
            $no = 1;
            foreach ($tampil_user as $u) {
            ?>
                <tr>
                    <td><?php echo $no++ ?></td>
                    <td><?php echo $u->nama ?></td>
                    <td><?php echo $u->email ?></td>
                    <td><?php echo $u->password ?></td>
                    <td>
                        <?php echo anchor('index.php/edit/tampil/' . $u->nama, 'Ubah'); ?> |
                        <?php echo anchor('index.php/insert_user/delete/' . $u->nama, 'Hapus'); ?>
                    </td>
                </tr>
            <?php } ?>
        </table>


    </form>
</body>

</html>

Link pada teks ubah tersebut ditujukan ke controllers Edit.php dan method tampil yang nantinya akan membuka form atau windows baru yang akan menampilkan data yang akan diubah dan merubah data tersebut.

Selanjutnya pada file model – m_insert.php silahkan tambahkan method tampil_data dan juga update_data seperti dibwah ini :

function tampil_data($where, $table)
    {
        return $this->db->get_where($table, $where);
    }

Berikut ini adalah kode lengkap dari file m_insert.php :

<?php defined('BASEPATH') or exit('No direct script access allowed');

class m_insert extends CI_Model
{

    //=============================================== CRUD =================================================================//   
    function input_data($data, $table)
    {
        $this->db->insert($table, $data);
    }

    function tampil_user()
    {
        return $this->db->get('tbl_user');
    }

    function hapus_data($where, $table)
    {
        $this->db->where($where);
        $this->db->delete($table);
    }

    function tampil_data($where, $table)
    {
        return $this->db->get_where($table, $where);
    }

    function update_data($where, $data, $table)
    {
        $this->db->where($where);
        $this->db->update($table, $data);
    }

    //=============================================== End Crud =================================================================//     

};

Membuat File edit.php

Selanjutnya kita buat file Edit.php pada Contrroller untuk melemparkan data yang akan diubah ke file edit.php yang ada di folder views – edit.php yang nanti akan kita buat, silahkan tuliskan perintahnya dibawah ini :

<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Edit extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
    }

    public function tampil($nama)
    {
        $this->load->model('m_insert');
        $where = array('nama' => $nama);
        $data['tampil_user'] = $this->m_insert->tampil_data($where, 'tbl_user')->result();
        $this->load->view('edit', $data);
    }
}

Perhatikan perintah $data[‘tampil_user’] = $this->m_insert->tampil_data($where, ‘tbl_user’)->result(); dimana pada perintah tersebut kita memanggil method tampil_data pada model m_insert yang akan menampilkan salah satu data dari tbl_user yang ada didalam database.

Lalu buat sebuah file edit.php pada Views untuk menampilkan data yang akan diubah dan juga menyimpan perubahannya kedalam database MySQL dengan menggunakan framework CodeIgniter, silahkan ketikan perintah dibawah ini :

<!DOCTYPE html>
<html>

<head>
    <title>Ubah Data dengan CodeIgniter | lebakcyber.net</title>
</head>



<body>
    <center>
        <h1>Ubah Data dengan CodeIgniter | lebakcyber.net</h1>
        <h3>Info user</h3>
    </center>

    <?php foreach ($tampil_user as $tu) { ?>


        <form action="<?php echo base_url('index.php/update/update_user/' . $tu->nama); ?>" method="post">
            <table style="margin:20px auto;">
                <tr>
                    <td>Nama</td>
                    <td><input type="text" name="nama" value="<?php echo $tu->nama ?>" required></td>
                </tr>
                <tr>
                    <td>Email</td>
                    <td><input type="email" name="email" value="<?php echo $tu->email ?>" required></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="password" name="password" value="<?php echo $tu->password ?>"> </td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" onclick="return confirm('Apakah anda yakin merubah data user?')" value="Ubah User"></td>
                </tr>
            </table>
        </form>
    <?php } ?>
</body>

</html>

Perhatikan perintah <form action=”<?php echo base_url(‘index.php/update/update_user/’ . $tu->nama); ?>” method=”post”> dimana perintah post tersebut akan digunakan untuk melempar data yang diubah ke Controller – Update dan method update_user yang nanti akan kita buat.

Membuat File Update.php

Selanjutnya kita buat file Update.php pada Controller untuk mengupdate data yang akan diubah dari file edit.php kedalam database, silahkan tuliskan perintahnya seperti dibawah ini :

<?php

class update extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model("m_insert");
    }

    public function index()
    {
    }


    public function update_user($nama)
    {
        $data_user = array(

            'nama' => $this->input->post('nama'),
            'email' => $this->input->post('email'),
            'password' => $this->input->post('password')
        );

        $where = array('nama' => $nama);

        $this->m_insert->update_data($where, $data_user, 'tbl_user');

        redirect('index.php/insert_user/tampil_input_user');
    }
}

Perhatikan perintah $this->m_insert->update_data($where, $data_user, ‘tbl_user’); dimana perintah tersebut kita memanggil Model m_insert dan method update_data serta menambahkan paramaeter where, data yang ingin diubah dan juga nama databasenya.

Sampai disini kita sudah selesai untuk melakukan proses update data dengan menggunakan Framework CodeIgniter dan database MySQL. Selanjutnya silahkan buka halaman http://localhost/lebakcyber/index.php/insert_user/tampil_input_user

Nanti akan terbuka halaman seperti pada gambar dibawah ini :

Update Data Dengan CodeIgniter dan MySQL

Lalu pilih salah satu user yang ingin diubah datanya, pada contoh ini kita akan mencoba mengganti user amar, silahkan klik tombol ubah pada kolom aksi di baris nomor 3, nanti akan terbuka halaman yang menampilkan data mengenai user amar seperti pada gambar dibawah ini :

Update Data Dengan CodeIgniter dan MySQL

Selanjutnya kita ubah data amar tersebut menjadi bilal mulai dari nama, email dan juga password. Setelah itu tekan tombol ubah user seperti pada gambar dibawah ini.

Update Data Dengan CodeIgniter dan MySQL

Setelah itu halaman akan dialihkan kembali ke daftar user, dan nama user sudah berubah menjadi bilal seperti pada gambar dibawah ini :

Update Data Dengan CodeIgniter dan MySQL

 

 

Bagimana? mudah bukan cara melakukan update pada pada codeigniter dan mysql. Sampai disini berarti pembahasan kita mengenai CRUD di CodeIgniter dan MySQL sudah selesai. Sampai jumpa pada tutorial Code Igniter lainnya.

About Firdan Ardiansyah

Admin di lebakcyber.net Untuk berhubungan dengan saya, silahkan kirim email ke : firdan@lebakcyber.net

Leave a Reply

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