Selanjutnya apabila telah selesai membuat halaman tambah maka kita akan membuat halaman edit codeigniter, halaman edit codeigniter ini nantinya digunakan untuk merubah informasi yang telah kita tambahkan sebelumnya sehingga kita dapat memperbarui data-data pengguna.
Halaman edit codeigniter ini nantinya tidak jauh berbeda dengan halaman tambah pengguna karena form yang digunakan sama saja, yang berbeda dihalaman edit adalah ada yang tampil di kolom-kolom yang telah di sediakan.
Pertama bukalah file Pengguna_model.php yang berada di folder /application/models lalu tambahkan kode dibawah ini.
public function lihat($id)
{
   $this->db->select('*');
   $this->db->from('pengguna');
   $this->db->where('id', $id);
   return $this->db->get();
}
Code language: PHP (php)
Setelah itu tambahkan file baru dengan nama edit_pengguna.php didalam folder /application/views dan masukan kode dibawah ini:
<div class="header">
<div class="title">
<h3>Edit Pengguna</h3>
</div>
<div class="action">
<button type="submit" form="edit-pengguna" class="btn btn-default">Simpan</button>
</div>
</div>
<form action="" method="POST" id="edit-pengguna">
<div class="form-group">
<label for="nama">Nama</label>
<input type="text" name="nama" id="nama" value="<?php echo $pengguna->nama; ?>">
</div>
<div class="form-group">
<label for="jenis_kelamin">Jenis Kelamin</label>
<label><input type="radio" name="jenis_kelamin" value="Lelaki"<?php echo ($pengguna->jenis_kelamin == 'Lelaki' ? ' checked' : ''); ?>> Lelaki</label>
<label><input type="radio" name="jenis_kelamin" value="Perempuan"<?php echo ($pengguna->jenis_kelamin == 'Perempuan' ? ' checked' : ''); ?>> Perempuan</label>
</div>
<div class="form-group">
<label for="tanggal_lahir">Tanggal Lahir</label>
<input type="date" name="tanggal_lahir" id="tanggal_lahir" value="<?php echo date('Y-m-d', strtotime($pengguna->tanggal_lahir)); ?>">
</div>
<div class="form-group">
<label for="umur">Umur</label>
<input type="number" name="umur" id="umur" value="<?php echo $pengguna->umur; ?>">
</div>
</form>
Selanjutnya buka file Pengguna_controller.php yang berada di folder /application/controllers lalu masukan kode dibawah ini:
public function edit($id)
{
   $data['pengguna'] = $this->pengguna_model->lihat($id)->row();
   $this->load->view('layouts/header');
   $this->load->view('edit_pengguna', $data);
   $this->load->view('layouts/footer');
}
Code language: PHP (php)
Yang terakhir tinggal menambahkan route untuk bagian edit, bukalah file routes.php yang berada di dalam folder /application/config lalu tambahkan kode dibawah ini tepat dibawah /pengguna/tambah/simpan.
$route['pengguna/edit/(:num)'] = 'pengguna_controller/edit/$1';
Code language: PHP (php)
Jika sudah silakan buka kembali browser anda lalu masuk ke halaman utama latihan codeigniter kita, sampai disini fungsi edit codeigniter masih belum selesai akan tetapi kita akan lihat apakah formulir edit codeigniter yang telah kita buat sudah sesuai atau belum caranya klik tombol edit, apabila di arahkan ke form edit codeigniter dan data-data sudah tampil maka anda sudah berhasil, seperti gambar dibawah ini:
Jika sudah sesuai seperti gambar diatas maka selanjutnya kita tinggal membuat fungsi action edit pengguna agar form tersebut dapat bekerja sebagaimana mestinya.
Untuk membuat action edit pengguna pertama buka file Pengguna_model.php yang berada di dalam folder /application/models lalu tambahkan kode dibawah ini:
public function update($data, $id)
{
   $this->db->update('pengguna', $data, array('id' => $id));
   return ($this->db->affected_rows() > 0) ? TRUE : FALSE;
}
Code language: PHP (php)
Jika sudah selanjutnya tambahkan kode dibawah ini kedalam file Pengguna_controller.php yang berada di dalam folder /application/controllers lalu masukan kode dibawah ini:
public function edit_simpan($id)
{
   $data = array(
     'nama' => $this->input->post('nama'),
     'umur' => $this->input->post('umur'),
     'tanggal_lahir' => date('Y-m-d 00:00:00', strtotime($this->input->post('tanggal_lahir'))),
     'jenis_kelamin' => $this->input->post('jenis_kelamin'),
   );
   if($this->pengguna_model->update($data, $id) == TRUE) {
     $this->session->set_flashdata('edit', true);
   }
   else {
     $this->session->set_flashdata('edit', false);
   }
   redirect(base_url());
}
Code language: PHP (php)
Setelah itu buka file routes.php yang berada di dalam folder /application/config lalu tambahkan kode dibawah ini tempat dibawah bagian pengguna/edit/(:num)
$route['pengguna/edit/simpan/(:num)'] = 'pengguna_controller/edit_simpan/$1';
Code language: PHP (php)
Lalu yang terakhir buka kembali file edit_pengguna.php yang berada di folder /application/views lalu cari kode dibawah ini:
<form action="" method="POST" id="edit-pengguna">
Code language: HTML, XML (xml)
Ubahlah menjadi kode dibawah ini
<form action="<?php echo base_url('pengguna/edit/simpan/' . $pengguna->id); ?>" method="POST" id="edit-pengguna">
Code language: HTML, XML (xml)
Jika pada bagian-bagian diatas telah selesai semuanya silahkan anda test dengan cara klik simpan setelah anda melakukan perubahan, jika sudah benar maka akan di arahkan kembali ke halaman utama yaitu daftar pengguna.
Nah pada bagian ini mungkin lebih baik kita tambahkan kembali pemberitahuan apakah tindakan perubahan yang kita lakukan telah sukses atau tidak, caranya hanya tinggal menambahkan kondisi saja di halaman daftar_pengguna.php sama seperti pada bagian tambah pengguna, berikut ini caranya.
Karna kita telah menambahkan set_flashdata()
pada bagian edit_simpan()
maka selanjutnya hanya perlu menambahkan kondisi saja, bukalah file daftar_pengguna.php yang berada di folder /application/views lalu tambahkan kode dibawah ini:
<?php if($this->session->flashdata('edit')): ?>
   <?php if($this->session->flashdata('edit') == TRUE): ?>
     <div class="alert alert-success">Berhasil update data pengguna</div>
   <?php elseif($this->session->flashdata('edit') == FALSE): ?>
     <div class="alert alert-danger">Gagal update data pengguna</div>
   <?php endif; ?>
<?php endif; ?>
Code language: HTML, XML (xml)
Tempat dibagian atas kode <div class="header">
lalu silahkan klik edit pada pengguna lalu klik simpan, apabila sudah benar maka seharusnya akan muncul tampilan seperti gambar dibawah ini:
Sampai disini kita telah berhasil membuat bagian edit pengguna, yang artinya tersisa satu fungsi lagi yang harus kita kerjakan yaitu bagian hapus, bagian hapus ini akan dibahas pada tutorial berikutnya.