在codeigniter中搜索

时间:2017-10-10 04:47:58

标签: php 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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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'];
         }