Pada Tutorial Part 10 ini, Anda akan belajar mengupdate dan menghapus berita yang telah tersimpan di database.
Sebelum mengikuti tutorial ini, pastikan Anda telah mengikuti:
- Mengikuti Tutorial Code Igniter Part 1: Installasi Code Igniter
- Mengikuti Tutorial Code Igniter Part 2: Membuat halaman home
- Mengikuti Tutorial Code Igniter Part 3: Membuat halaman kontak
- Mengikuti Tutorial Code Igniter Part 4: Membuat halaman login administrator
- Mengikuti Tutorial Code Igniter Part 5: Membuat halaman dasbor administrator
- Mengikuti Tutorial Code Igniter Part 6: Mempersiapkan database dan konfigurasinya di Code Igniter
- Mengikuti Tutorial Code Igniter Part 7: Menampilkan daftar berita dan detailnya
- Mengikuti Tutorial Code Igniter Part 8: CRUD Modul Berita (Bagian 1)
- Mengikuti Tutorial Code Igniter Part 9: CRUD Modul Berita (Bagian 2: Tambah berita dan Installasi TinyMCE)
- Mengunduh hasil akhir tutorial Part 9: https://drive.google.com/file/d/0B5BhV6c89_2YZFI4X1ZTQmdzTTQ/view?usp=sharing
- Mengunduh hasil akhir tutorial Part 10 sebagai bahan review: https://drive.google.com/file/d/0B5BhV6c89_2YRUQzSTZYYjB1eXM/view?usp=sharing
Menambahkan fungsi update dan delete berita pada model (berita_model)
Pada tutorial Part sebelumnya Anda telah membuat model untuk mengelola database berita, yaitu berita_model.php yang ada di folder tutorial_ci/application/models/admin/. Model yang sudah ada tersebut baru meng-cover fungsi untuk menampilkan listing data (daftar_berita) dan menambah data (tambah_berita).Dalam tutorial kali ini, Anda akan menambahkan fungsi untuk menampilkan per-item data yang akan diedit/hapus.
Fungsi menampilkan detail berita (detail_berita)
Fungsi model detail_berita adalah untuk memanggil item berita dengan parameter id_berita.Berikut langkah-langkahnya:
- Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
- Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-18), lalu tekan Enter.
- Lalu ketik kode ini:
// Detail berita
public function detail_berita($id = FALSE) {
if ($id === FALSE) {
$query = $this->db->get(‘berita’);
return $query->result_array();
}
$query = $this->db->get_where(‘berita’, array(‘id_berita’ => $id));
return $query->row_array();
} - Simpan kembali file berita_model.php
Fungsi mengupdate/mengedit data berita (edit_berita) dan menghapus berita (delete_berita)
Kedua model ini nanti akan digunakan untuk mengubah dan menghapus berita.Berikut langkah-langkahnya:
- Buka file berita_model.php yang ada di folder tutorial_ci/application/models/admin/
- Letakkan cursor Anda sebelum kurung kurawal terakhir (sekitar baris ke-28), lalu tekan Enter.
- Lalu ketik kode ini:
// Update berita
public function edit_berita($data) {
$this->db->where(‘id_berita’, $data[‘id_berita’]);
return $this->db->update(‘berita’, $data);
}
// Hapus berita
public function delete_berita($id) {
$this->db->where(‘id_berita’,$id);
return $this->db->delete(‘berita’);
} - Simpan kembali file berita_model.php
Membuat view untuk form update berita
Untuk mengedit berita, Anda membutuhkan form yang akan digunakan untuk mengeditnya.Berikut langkah-langkahnya:
- Buat file PHP baru dengan nama edit_berita.php dalam folder tutorial_ci/application/views/admin/berita/
- Lalu ketik kode di bawah ini:
<div class=”konten”>
<h1>Mengubah berita</h1>
<?php require_once(‘tinymce.php’) ?>
<form name=”form1″ method=”post” action=”<?php echo base_url(); ?>admin/berita/edit” class=”myform”>
<p><label for=”judul”>Judul berita</label>
<input name=”judul” type=”text” id=”judul” size=”70″ value=”<?php echo $detail[‘judul’] ?>”>
</p>
<p><label for=”ringkasan”>Ringkasan berita</label>
<textarea name=”ringkasan” id=”ringkasan” cols=”45″ rows=”5″><?php echo $detail[‘ringkasan’] ?></textarea>
</p>
<p><label for=”isi”>Isi berita</label>
<textarea name=”isi” id=”isi” cols=”45″ rows=”5″><?php echo $detail[‘isi’] ?></textarea>
</p>
<p>
<label for=”status_berita”>Status berita</label>
<select name=”status_berita” id=”status_berita”>
<option value=”Published” <?php if($detail[‘status_berita’]==”Published”) { echo ‘selected'; } ?>>Publikasikan</option>
<option value=”Draft” <?php if($detail[‘status_berita’]==”Draft”) { echo ‘selected'; } ?>>Simpan sebagai draft</option>
</select>
<input name=”id_user” type=”hidden” id=”id_user” value=”1″>
<input name=”id_berita” type=”hidden” id=”id_berita” value=”<?php echo $detail[‘id_berita’] ?>”>
</p>
<p>
<input type=”submit” name=”submit” id=”submit” value=”Submit”>
<input type=”reset” name=”submit2″ id=”submit2″ value=”Reset”>
</p>
</form>
</div> - Simpan kembali file edit_berita.php
Menambahkan controller untuk mengubah berita
Anda telah berhasil membuat model dan view untuk mengubah dan menghapus berita. Langkah selanjutnya adalah menambahkan fungsi pada controller yang memungkinkan untuk mengupdate dan menghapus berita.Berikut langkah-langkahnya:
- Buka file berita.php yang ada dalam folder tutorial_ci/application/controllers/admin/
- Letakkan kursor Anda sebelum kurung kurawal tutup yang terakhir (sekitar baris 73). Tekan Enter
- Masukkan kode di bawah ini:
// Menghapus berita
public function delete($id) {
$this->berita_model->delete_berita($id);
redirect(base_url().’admin/berita/’);
} - Simpan kembali file berita.php
Uji coba mengubah dan menghapus berita
Langkah selanjutnya adalah melakukan uji coba.Untuk mengubah berita, berikut langkah-langkahnya:
- Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
- Klik salah satu link Edit yang ada di halaman tersebut
- Form edit berita akan muncul, lakukan perubahan pada judul, ringkasan dan isi berita
- Klik tombol Submit. Pastikan berita mengalaman perubahan
- Buka halaman daftar berita http://localhost/tutorial_ci/admin/berita/
- Klik salah satu link Delete yang ada di halaman tersebut
- Pastikan berita terhapus
Tidak ada komentar:
Posting Komentar