Di artikel sebelumnya, sempat dibahas mengenai cara menampilkan data dari database pada CodeIgniter. Nah, kali ini ada sebuah kasus dimana data yang akan ditampilkan yaitu data yang sesuai kriteria atau lebih spesifik. Misalkan, data yang ditampilkan yaitu data-data karyawan yang memiliki gaji diatas 10 juta pada database karyawan.
Di artikel sebelumnya, data yang ditampilkan hanya sekedar data yang langsung ditampilkan tanpa memikirkan kriteria lain seperti jumlah gaji, siapa nama karyawan tersebut, dan kriteria lainnya. Lalu, bagaimana cara menampilkan data tersebut?Pada kesempatan kali ini akan dibahas mengenai cara menampilkan data berdasarkan kriteria tertentu.
Untuk menampilkan data seperti itu, diperlukan method get pada model yang telah dibuat. Misalkan nama methodnya yaitu public function get_all($variabel_kriteria = FALSE). Untuk nama variabel sendiri itu disesuaikan dengan kebutuhan. Lalu, mengapa pada parameter nya diset FALSE?Nah, pada artikel sebelumnya, sempat dibahas mengenai isi method get seperti berikut:
public function get_all(){
$query = $this->db->get('nama_tabel');
return $query->result_array();
}
Variabel kriteria sendiri diambil berdasarkan apa yang terdapat pada url di browser, misalkan localhost/codeigniter/index.php/news/data_dari_variabel_kriteria. Misalkan, pada bagian data dari variabel kriteria di url dituliskan post-pertama, maka ia akan menampilkan isi dari post-pertama. Itulah maksud dari variabel kriteria tersendiri. Maka, bila mana nantinya data dari variabel kriteria ini ternyata kosong atau null, maka method sintaks yang dijelaskan diatas akan berjalan, sintaks detailnya dijelaskan seperti berikut:
public function get_news($variabel_kriteria= FALSE){
  if ($variabel_kriteria == FALSE) {
   $query = $this->db->get('tabel');
   return $query->result_array();
  }
}
Namun, bila data dari variabel kriteria ternyata ada atau not null, maka sintaks berikut yang akan berjalan:
$query = $this->db->get_where('tabel', array('kolom_yang_dipilih' => $variabel_kriteria));
  return $query->row_array();
Jadi, maksud method get_where() pada variabel $query sendiri yaitu sama seperti kita mengetikkan SELECT * FROM tabel WHERE..... Lalu, ada juga penggunaan method row_array();. Method tersebut berguna untuk membuat data yang ditampilkan menjadi satuan, atau tidak seluruh data dari database muncul.
Apa itu sudah membuat data muncul di halaman web?Belum. Mengapa?Karena data yang kita oper belum melalui controller. Oleh karena itu, data yang akan ditampilkan harus melalui controller. Sebelumnya, pernah dibahas mengenai method index() pada controller. Kali ini, akan dibahas mengenai method baru bernama view().
Method ini berfungsi sama dengan method index, namun lebih spesifik lagi. Cara menerima data dari model yaitu sebagai berikut: