Pada tutorial kemarin, kita udah bisa menambahkan data ke dalam database… (Create) dan menampilkannya (semua data)…. Sekarang, kita akan membuat aksi lainnya, yaitu update/ubah dan delete/hapus pada setiap data di dalam sebuah table…
Kita lanjutkan tutorial kemarin (Tutorial CodeIgniter Dasar Part II – CRUD Chapter 1) yang waktu itu kita udah membuat table mahasiswa dan membuat fungsi untuk menambahkan datanya.. sekarang mari kita buat fungsi/aksi lainnya, yaitu update dan delete…
Kita review hasil kerjaan dari tutorial kemarin…
PHP Code:
<h1>Data Mahasiswa</h1>
<table>
<thead>
<tr>
<th>No</th>
<th>NIM</th>
<th>Nama</th>
<th>Alamat</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1 ?>
<?php foreach($mahasiswa as $m): ?>
<tr>
<td><?php echo $i++ ?></td>
<td><?php echo $m->nim ?></td>
<td><?php echo $m->nama ?></td>
<td><?php echo $m->alamat ?></td>
<td></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
Buatlah dua buah anchor dengan bentuk kode seperti ini di kolom paling kanan tabel:
PHP Code:
<?php echo anchor('data_mahasiswa/edit/'.$m->id, 'Ubah') . ' | ' . anchor('data_mahasiswa/delete/'.$m->id, 'Hapus'); ?>
PHP Code:
<h1>Data Mahasiswa</h1>
<table>
<thead>
<tr>
<th>No</th>
<th>NIM</th>
<th>Nama</th>
<th>Alamat</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1 ?>
<?php foreach($mahasiswa as $m): ?>
<tr>
<td><?php echo $i++ ?></td>
<td><?php echo $m->nim ?></td>
<td><?php echo $m->nama ?></td>
<td><?php echo $m->alamat ?></td>
<td><?php echo anchor('data_mahasiswa/edit/'.$m->id, 'Ubah') . ' | ' . anchor('data_mahasiswa/delete/'.$m->id, 'Hapus'); ?></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
Kemudian setelah itu, kita buat sebuah function di dalam model mahasiswa_model.php di folder /system/application/models:
PHP Code:
<?php
...
function delete($id){
$this->db->delete('mahasiswa', array('id'=>$id));
}
...
?>
PHP Code:
...
function delete($id){
$this->mahasiswa_model->delete($id);
redirect('data_mahasiswa');
}
...
2. Mengubah Data
Nah, untuk mengubah data.. kita harus tahu fungsi untuk mengubah database dari Active Record yang disediakan oleh CI.. yaitu $this->db->update($nama_table, $data)…
Sekarang, kita tambahkan function update() dan select($id) untuk menyeleksi SATU data yang akan dipilih berdasarkan id-nya… dibuat di model mahasiswa.php di /system/application/models,,,
PHP Code:
...
function update($id){
$this->db->where('id',$id)->update('mahasiswa', $_POST);
}
function select($id){
return $this->db->get_where('mahasiswa', array('id'=>$id))->row();
}
...
Setelah kita membuat modelnya… kemudian kita tambahkan function edit() di Controller data_mahasiswa.php di /system/application/controller/:
PHP Code:
...
function edit($id){
$data['m'] = $this->mahasiswa_model->select($id);
$this->load->view('edit_view',$data);
}
...
Ini adalah view yang harus ada di /system/application/views dengan nama file edit_view.php (yang udah kita masukkan ke dalam fungsi $this->load->view() di controller.
Ini adalah isi dari view-nya:
PHP Code:
<h1>Ubah data</h1>
<form action="" method="post">
<table>
<tr>
<th>NIM</th>
<td><input name="nim" value="<?php echo $m->id ?>" /></td>
</tr>
<tr>
<th>Nama</th>
<td><input name="nama" value="<?php echo $m->nama ?>" /></td>
</tr>
<tr>
<th>Alamat</th>
<td><textarea name="alamat"><?php echo $m->alamat ?></textarea></td>
</tr>
<tr>
<th></th>
<td><input type="submit" value="ubah" /></td>
</tr>
</table>
</form>
Kemudian, di controller kita tambahkan code berikut:
PHP Code:
...
function edit($id) {
if($_POST==NULL) {
$data['m'] = $this->mahasiswa_model->select($id);
$this->load->view('edit_view',$data);
}else {
$this->mahasiswa_model->update($id);
redirect('data_mahasiswa');
}
}
...
itu buat ngecek apakah data udah dikirim atau belum (NULL)? Nah, klo udah dikirim berarti bakal diupdate… kalo belum maka program akan mengambil data (select) dan dimasukkan ke dalam form…
Kemudian terdapat fungsi redirect (sama seperti add), ketika data sudah diubah, maka halaman langsung dialihkan ke dalam action yang ada di prameter redirect tersebut….
Nah, sejauh ini kita sudah membuat aplikasi CRUD lengkap… Create, Read, Update, dan Delete….
Silakan cek program yang kita bikin sejauh ini dengan mengetikkan alamat url : http://localhost/webku/data_mahasiswa
Mudah-mudahan ini bisa ngebantu kita dalam suatu kasus tertentu di mana misalnya tugas maupun kerjaan meminta kita dibuatkan programnya dengan menggunakan CI,,,
Nanti kita lanjut tutorialnya di Part 3, tentang LAYOUTING dan TEMPLATING di Code Igniter….
Coming Soon ya…
Kalo ada pertanyaan, silakan komentar di sini, insya Allah dibalas
Artikel selengkapnya baca di sini: http://harian.cheyuz.com/_other/tuto...crud-chapter-2
_________________________________________--