Tutorial CRUD CodeIgniter Dengan Bootstrap 4 : Edit dan Update Data ke Database


Tutorial CRUD CodeIgniter Dengan Bootstrap 4 : Edit dan Update Data ke Database

Tutorial CRUD CodeIgniter Dengan Bootstrap 4 : Edit dan Update Data ke Database - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan melanjutkan artikel sebelumnya yaitu Input Data ke Database.

Pada kesempatan kali ini kita semua akan membahas bagaimana cara Edit dan Update Data ke Database. Oke langsung saya kita mulai

Silahkan tambahkan 2 function ini didalam file Siswa.php yang berada di dalam folder application/controllers :

public function edit($id_siswa)
{
  //load model 
  $this->load->model('m_siswa');

  //get ID dari URL segment ke 3
  $id_siswa = $this->uri->segment(3);

  $data = array(
     'data_siswa' => $this->m_siswa->edit_siswa($id_siswa)
  );

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

Kode diatas digunakan untuk edit data siswa

public function update()
{
   //load model
   $this->load->model('m_siswa');

   //get data dari form
   $id_siswa['id_siswa'] = $this->input->post("id_siswa");
   $nisn             = $this->input->post('nisn');
   $nama_lengkap    = $this->input->post('nama_lengkap');
   $alamat            = $this->input->post('alamat');

   $data = array(
      'nisn'         => $nisn,    
      'nama_lengkap' => $nama_lengkap,
      'alamat'       => $alamat    
   );

   //update via model    
   $this->m_siswa->update_siswa($data, $id_siswa);

   //redirect ke controller siswa
   redirect('siswa');
}

Kode diatas digunakan untuk update data siswa. Apabila jika file Siswa.php ditulis secara lengkap maka kurang lebih seperti kode dibawah ini :

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

class Siswa extends CI_Controller {

    public function index()
    {
        //load model
        $this->load->model('m_siswa');


        $data = array(
            'data_siswa' => $this->m_siswa->get_siswa()->result()
        );
        //load view
        $this->load->view('data_siswa', $data);
    }

    public function tambah()
    {
        //load view
        $this->load->view('tambah_siswa');
    }

    public function simpan()
    {
        //load model
        $this->load->model('m_siswa');

        //get data dari form
        $nisn             = $this->input->post('nisn');
        $nama_lengkap    = $this->input->post('nama_lengkap');
        $alamat            = $this->input->post('alamat');

        $data = array(
            'nisn'           => $nisn,    
            'nama_lengkap' => $nama_lengkap,
            'alamat'       => $alamat    
        );

        //insert data via model
        $this->m_siswa->simpan_siswa($data);

        //redirect ke controller siswa
        redirect('siswa');

    }

    public function edit($id_siswa)
    {
        //load model 
        $this->load->model('m_siswa');

        //get ID dari URL segment ke 3
        $id_siswa = $this->uri->segment(3);

        $data = array(
            'data_siswa' => $this->m_siswa->edit_siswa($id_siswa)
        );

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

    public function update()
    {
        //load model
        $this->load->model('m_siswa');

        //get data dari form
        $id_siswa['id_siswa'] = $this->input->post("id_siswa");
        $nisn             = $this->input->post('nisn');
        $nama_lengkap    = $this->input->post('nama_lengkap');
        $alamat            = $this->input->post('alamat');

        $data = array(
            'nisn'           => $nisn,    
            'nama_lengkap' => $nama_lengkap,
            'alamat'       => $alamat    
        );

        //update via model    
        $this->m_siswa->update_siswa($data, $id_siswa);

        //redirect ke controller siswa
        redirect('siswa');
    }
}

Kode diatas adalah kode lengkap dari controller Siswa.php, karena kita tadi sudah menambahkan 2 function baru, yaitu function edit dan function update.

Sekarang kita menambahkan 2 juga function edit_siswa dan update_siswa di model M_siswa.php yang berada didalam folder application/models.

public function edit_siswa($id_siswa)
{
    //edity data
    $query = $this->db->where("id_siswa", $id_siswa)->get("tbl_siswa");
    return $query->row();
}

Kode diatas digunakan untuk mendapatkan data siswa berdasarkan ID Siswa.

public function update_siswa($data, $id_siswa)
{
   //update siswa
   return $this->db->update("tbl_siswa", $data, $id_siswa);
}

Kode diatas adalah Query yang digunakan untuk mengupdate data siswa berdasarkan ID Siswa. Jika file M_siswa.php ditulis dengan lengkap maka kurang lebih seperti berikut ini :

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

class M_siswa extends CI_Model {

    public function get_siswa()
    {
        //select semua data siswa
        $this->db->select('*');
        $this->db->from('tbl_siswa');
        $this->db->order_by('id_siswa', 'DESC');
        return $this->db->get();
    }

    public function simpan_siswa($data)
    {
        //insert data
        return $this->db->insert("tbl_siswa", $data);
    }

    public function edit_siswa($id_siswa)
    {
        //edity data
        $query = $this->db->where("id_siswa", $id_siswa)->get("tbl_siswa");
        return $query->row();
    }

    public function update_siswa($data, $id_siswa)
    {
        //update siswa
        return $this->db->update("tbl_siswa", $data, $id_siswa);
    }
}

Kita bisa lihat dari kode diatas kita sudah menambahkan 2 function baru yaitu edit siswa dan update siswa.

Untuk yang terakhir adalah membuat sebuah file baru dengan nama edit_siswa.php yang berada di dalam folder application/views. Dan silahkan kalian masukkan kode dibawah ini :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <title>Edit Siswa</title>
  </head>

  <body>

    <div class="container" style="margin-top: 80px">
      <div class="row">
        <div class="col-md-8 offset-md-2">
          <div class="card">
            <div class="card-header">
              EDIT SISWA
            </div>
            <div class="card-body">
              <form action="<?php echo base_url() ?>index.php/siswa/update" method="POST">
                
                <div class="form-group">
                  <label>NISN</label>
                  <input type="text" name="nisn" value="<?php echo $data_siswa->nisn ?>" placeholder="Masukkan NISN Siswa" class="form-control">
                  <input type="hidden" name="id_siswa" value="<?php echo $data_siswa->id_siswa ?>">
                </div>

                <div class="form-group">
                  <label>Nama Lengkap</label>
                  <input type="text" name="nama_lengkap" value="<?php echo $data_siswa->nama_lengkap ?>" placeholder="Masukkan Nama Siswa" class="form-control">
                </div>

                <div class="form-group">
                  <label>Alamat</label>
                  <textarea class="form-control" name="alamat" placeholder="Masukkan Alamat Siswa" rows="4"><?php echo $data_siswa->alamat ?></textarea>
                </div>
                
                <button type="submit" class="btn btn-success">UPDATE</button>
                <button type="reset" class="btn btn-warning">RESET</button>

              </form>
            </div>
          </div>
        </div>
      </div>
    </div>
    
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
  </body>
</html>

Sekarang coba kalian edit data yang sudah kalian inputkan ke Database, maka jika berhasil kurang lebih tampilannya seperti berikut ini :


Oke sampai disini dulu artikel yang membahas tentang membuat edit dan update data siswa ke dalam database. diartikel selanjutnya kita akan membahas bagaimana cara menghapus data ke Database. Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami