Penerapan Codeigniter dalam Pembuatan Halaman Web Menggunakan Template CSS part 3

Sebelum melanjutkan lebih jauh, pastikan Anda telah membaca dan mendownload file dari 2 artikel sebelumnya. Di dalam artikel sebelumnya telah kita bahas tentang konfigurasi dari pemakaian htaccess, setting config.php, setting database.php dan pembuatan controller memanfaatkan default controller welcome yang ada di codeigniter. Untuk artikel kali ini akan saya coba bahas lebih lanjut pembuatan model yang memanfaatkan class database yang dimiliki codeigniter.

Berbicara tentang model dan class database terdapat aturan penting yang harus kita cermati. Secara default, jika kita memanggil model seperti yang ditulis artikel sebelumnya tanpa melakukan load terlebih dahulu pesan error akan muncul yang artinya model yang kita buat tidak dikenali. Terdapat 2 pendekatan dalam mengatur load suatu model yang kita buat.

Pertama, selalu menyertakan sintaks load model setiap kita hendak memanggil model yang dimaksud. Berarti, jika kita sering memanggil model tersebut, penambahan sintaks load model harus kita sertakan.

Pendekatan kedua adalah memanfaatkan file autoload untuk meload model secara general. Artinya, kita tidak perlu menambahkan sintaks load model di setiap pemanggilan model, akan tetapi cukup menambahkan autoload nama model yang dibutuhkan di dalam file system/application/config/autoload.php. Ketika kita hendak memanggil model, sintaks load model tersebut tidak perlu kita tulis karena sudah diload otomatis oleh file autoload. Misalkan kita hendak memanggil model artikel_model, maka tambahkan di dalam array nama dari model kita.

$autoload['model'] = array('artikel_model');

Dalam contoh tutorial ini saya menggunakan pendekatan kedua karena tidak perlu pusing menuliskan load model di setiap pemakaiannya. Begitu pula jika kita menggunakan database. Tambahkan indeks di dalam array library dengan nama database. DI dalam file yang sama, cari dan ubah menjadi seperti ini.

$autoload['libraries'] = array('database');

Oke, selanjutnya kita masuk dalam pembuatan model. Langsung Anda lihat saja dalam file artikel_model.php di dalam folder model. Akan saya tulis kembali sebagai berikut

class artikel_model extends Model {

    function artikel_model()
    {
		parent::Model();
    }

    function getsummary()
    {
		$q = "SELECT * FROM artikel ORDER BY waktu DESC LIMIT 0,3";
		$query = $this->db->query($q);
		return $query->result();
    }

    function getartikel($id)
    {
	        $q = "SELECT * FROM artikel WHERE id_artikel = '$id'";
		$query = $this->db->query($q);
		return $query->row();
    }

}

Untuk pemanggilan pertama, kita akan menampilkan seluruh artikel yang nantinya kalau diklik salah satu hanya menampilkan artikel yang dipilih saja. Pemanggilan pertama ini kita membuat fungsi getsummary() sesuai dengan fungsi yang dipanggil controller yang telah kita buat sebelumnya. Karena kita menggunakan autoload, kita bisa langsung menerapkan class database yang dimiliki codeigniter. perhatikan syntax return $query->result();. Pengembalian dengan memanfaatkan method result() mengandung arti kita mengembalikan row data berdimensi n*n sesuai dengan hasil query. Proses pemecahannya bisa Anda lihat di dalam file halaman depan.php yang diminta controller untuk menampilkan halaman depan. Proses pemecahan memanfaatkan fungsi foreach() karena row data yang dipanggil merupakan array.

Untuk fungsi selanjutnyadi bawahnya (penggunaan untuk membaca masing2 artikel), hasil pengembalian menggunakan return $query->row(). Artinya hasil pengembalian merupakan satu object berdimensi 1*n. Hasil pengembalian ini berupa 1 object yang sebelumnya kita sudah yakin hasil akhirnya hanya 1 record. Pemecahan datanya tidak perlu menggunakan foreach(), tetapi langsung membaca object datanya seperti yang Anda lihat di dalam file baca.php di dalam folder views.

  1. Penerapan Codeigniter dalam Pembuatan Halaman Web Menggunakan Template CSS part 1
  2. Penerapan Codeigniter dalam Pembuatan Halaman Web Menggunakan Template CSS part 2

farid

Selamat datang dan salam kenal. Penulis merupakan lulusan Sekolah Tinggi Ilmu Statistik Jakarta jurusan Komputasi Statistik. Menekuni pemrograman web khususnya PHP dengan Yii Framework. Penggemar musik instrumen dan film Doraemon. Berasal dari Kota Lumpia Semarang dan pernah bertugas menjadi Staf Produksi dan IPDS di BPS Kabupaten Melawi. Sejak tahun 2016, mulai bertugas sebagai Staf Pengolahan Data di BPS Provinsi Kalimantan Barat

You may also like...