Menggabungkan Where dan Like pada Codeigniter Berhasil

langsung saja kali ini saya akan berbagi informasi cara menggabungkan fungsi where dan like pada codeigniter. Fungsi ini digunakan untuk menampilkan hasil pencarian pada tabel. Namun tidak seperti syntak pada mysql biasanya, karena di codeigniter terdapat syntak yang dibuat agar penulisan kode menjadi lebih rapi, tersusun dan mudah dipahami. Berikut cara menggabungkan fungsi where dan like pada codeigniter yang berhasil menampilkan data sesuai yang diharapkan:

Menggabungkan where dan like codeigniter

Saya contohkan menampilkan data dari gabungan dua tabel dan untuk menampilkan data pada bidang A saja (dari A,B,C,D) dan nama surat atau tempat acara mirip kata yang diinputkan.seperti menampilkan surat masuk dari dinas Sosial dengan nama acara mirip “sosialisasi” atau tempat acara “sosialisasi”.

Pada Model seperti ini:

function surat($limit, $offset, $bidang){
$keyword = $this->input->post(“keywordsurat”)<>””?$this->input->post(“keywordsurat”):””;
$this->db->select(‘id_surat,tanggal_acara,jam_acara,nama_acara,tempat_acara,id_pejabat,singkat_bidang,slug,status_surat’);
$this->db->join(“bidang”, “bidang.id_bidang = surat.id_bidang”,’left’);
if($bidang<>”all”){
$this->db->where(“bidang.slug”,$bidang);
}
if($keyword<>””){
$this->db->where(“(surat.nama_acara LIKE ‘%”.$keyword.”%’ OR surat.tempat_acara LIKE ‘%”.$keyword.”‘)”,NULL, FALSE);
}
$this->db->order_by(‘id_surat’,’desc’);
return $this->db->get($this->tbl_surat, $limit, $offset);
}

 

Sedangkan yang di controller:

public function surat($offset=0)
{
$this->session->set_userdata(‘id_bidang_pencarian’, ‘all’);
// offset
$uri_segment = 4;
$uri_bidang = $this->uri->segment(3)<>””?$this->uri->segment(3):”all”;
$keyword = $this->input->post(“keywordsurat”)<>””?$this->input->post(“keywordsurat”):””;
$offset=$this->uri->segment($uri_segment);
// load data
$data[‘surat’] = $this->mdataadmin->surat($this->limit_surat, $offset, $uri_bidang);
$this->db->select(‘id_surat,tanggal_acara,jam_acara,nama_acara,tempat_acara,id_pejabat,singkat_bidang,slug,status_surat’);
$this->db->join(“bidang”, “bidang.id_bidang = surat.id_bidang”,’left’);
if($uri_bidang<>”all”){
$this->db->where(“bidang.slug”,$uri_bidang);
}
if($keyword<>””){
$this->db->where(“(surat.nama_acara LIKE ‘%”.$keyword.”%’ OR surat.tempat_acara LIKE ‘%”.$keyword.”‘)”,NULL, FALSE);
}
$jml = $this->db->get(‘surat’);
// generate pagination
$this->load->library(‘pagination’);
$config[‘base_url’] = site_url(‘template/surat/’.$uri_bidang);
$config[‘total_rows’] = $jml->num_rows();
$config[‘per_page’] = $this->limit_surat;
$config[‘uri_segment’] = $uri_segment;
$this->pagination->initialize($config);
//tamplikan data
$data[‘pagination’] = $this->pagination->create_links();
$data[‘judul’] = “Admin Persuratan Bappeda”;
$data[‘konten’] = “home/surat/surat”;
$data[‘aktif’] = ‘class=”active”‘;
$data[‘bidang’] = $this->mdataadmin->viewbidang();
$this->load->view(‘home/index’,$data);
}

Sekian cara menggabungkan where dan like pada codeigniter yang berhasil menampilkan data sesuai yang diinginkan.

About Ganang Julianto 255 Articles
Si Anak dari Orang Tua tersayang ingin berbagi ilmu dengan harapan bermanfaat bagi orang lain. Situs SeputarTI.Com ini sebagai salah satu media berbagi saya, khususnya dibidang TI. Salam Kenal dari saya... :-)

Be the first to comment

Leave a Reply

Your email address will not be published.


*