2017-10-10 83 views
0

我正在爲我的項目建立一個搜索選項,我試着用一些代碼它沒有顯示任何錯誤或任何警告,但結果是不正確的。在codeigniter搜索

控制器

function search_package() 
{ 
    $package_id = $this->input->post('search'); 
    $data['result'] = $this->my_model->search($package_id); 
    $this->load->view('destinations/search',$data); 
} 

模型

function search($package_id) 
{ 
    $this->db->like('category_id',$package_id); 
    $query = $this->db->get('gt_package'); 
    return $query->result(); 
} 

視圖

<form action="<?php echo site_url(); ?>/package_view/search_package">      
    <label>Select an option</label> 
    <select class="typeahead form-control" name="search"> 
     <?php 
      foreach($search as $s) 
      { 
      ?> 
      <option value="<?php echo $s->category_id;?>"><?php echo $s->category_name;?></option> 
      <?php } ?> 
    </select> 
    <input class="btn btn-primary" type="submit" value="Search Now" /> 
</form> 

我的分貝結構

enter image description here

+0

你得到什麼結果呢?和你想要的 ? – AZinkey

+0

例如:我只想記錄category_id'8'但在這裏我得到兩個記錄 –

+0

兩個記錄。 – AZinkey

回答

0

如果我們正在搜索詞,我們可以使用db->like(它會產生%text%)。但是你正在搜索一個整數,所以我建議你使用db->where

$this->db->where('category_id',$package_id); #changed 
$query = $this->db->get('gt_package'); 
return $query->result_array(); #changed 

,並鑑於

<option value="<?php echo $s['category_id'];?>"><?php echo $s['category_name'];?></option> 
+0

對此有何更新? –

0

 
    model
$query=$this->db->query("select col from tbl WHERE category_id like'%'.$package_id.'%'; return $query->result_array(); view

  <?php 
      foreach($result as $results){ 

      echo $results['col']; 
     } 

+0

代碼在答案中很棒,但是,請添加放大信息,解釋爲什麼代碼可以解決問題。 –