使用来自模型(搜索模块)codeigniter的不同查询结果加载视图

时间:2016-11-02 11:39:22

标签: php codeigniter

使用随表单提供的不同参数开发搜索模块。

控制器就像那样

public function searchCourse()
{  
     $cat_id = $this->input->post('searchkey');
     $course_id = $this->input->post('searchkey_course');
     //$start_date = date('Y-m-d',strtotime($this->input->post('fromDate')));
     $course_name = $this->input->post('searchbyname');
     $university_id = $this->session->userdata('university_id');
     $data['course'] = $this->crud_model->getcourseSearch($university_id, $course_id, $course_name);
     $data['page_title'] = 'My Course';
     $this->load->view('frontend/university/mycourse', $data);

}

型号:

 public function getcourseSearch($param1 = '', $param2 = false, $param4= false)

 {    

   $this->db->select('*');

   $this->db->where('coursep_id', $param1);

   if($param2){
       $this->db->like('name_of_course', $param2);

   }

   if($param4){
       $this->db->or_like('name_of_course', $param4, 'both');
   }

   $query=$this->db->get("course");

   return $query->result();

   }

问题:            问题是第一次查看加载数据列表。这很好但是当使用搜索参数提交表单时,视图被堆叠有不同的结果数据。我怎么能克服这一点。

1 个答案:

答案 0 :(得分:0)

当您在模型中调用此函数时,您将传递三个参数$ university_id,$ course_id,$ course_name。

所以$ param1 = university_id,$ param2 = course_id和$ param4 = course_name。

在格式化查询时使用适当的参数。

像: 公共函数getcourseSearch($ param1 ='',$ param2 = false,$ param4 = false)

{

$这 - > DB->选择(' *&#39);

$ this-> db-> where(' coursep_id',$ param2);

如果($ param2的){        $ this-> db-> like(' name_of_course',$ param4);

}

$查询= $这 - > DB->获得("当然&#34);

返回$ query-> result();

}