2013-10-23 91 views
0

继续抓住PHP和Codeigniter,我有一个问题,从我的控制器传递搜索词的参数到我的模型,分页。Codeigniter搜索词与分页

我有一个完全正常工作的脚本(分页)已经工作了......但是,试图将输入后搜索术语包括到模型中,这一切都搞得一团糟(或者我把它搞乱了)。

工作脚本 - 控制器:

public function search() 
    { 
$this->load->model('Products_model'); 
$config['base_url'] = base_url() . '/products/search/'; 
$config['total_rows'] = $this->db->count_all('affiliate_window'); 
$config['per_page'] = 25; 
$config['uri_segment'] = 3; 
$this->pagination->initialize($config); 
$data['offset_no'] = $this->uri->segment(3); 
$data['items'] = $this->Products_model->get_search($config['per_page'], $data['offset_no']); 
$this->load->view('header_view'); 
$this->load->view('products_view', $data); 
$this->load->view('footer_view'); 
    } 

工作脚本 - 型号:

   function get_search($limit, $offset) 
       { 
$query = $this->db->get('mydb', $limit, $offset); 
return $query->result(); 
       } 

因此,在我现在该如何去传递$这个 - >输入 - >发表任何意见(”搜索词');从控制器到我的模型中使用这样的:

   function get_search($limit, $offset) 
       { 
$this->db->like('name', '$SEARCHTERM'); 
$query = $this->db->get('mydb', $limit, $offset); 
return $query->result(); 
       } 

而且,我相信我未来要在保持整个每个页面的搜索项变量遇到的问题。

任何建议非常欢迎 - 我一直在这工作了几个小时,没有结果! :)

回答

0

因此,了解您的分页代码&所有其他代码是“不相关的” - 意思是说,他们不需要另一个代码的功能。

您将像搜索其他参数&一样将搜索词传递给您的模型函数;限制&偏移量只是简单地标记到您的查询的结尾,就像您现在正在做的那样。

因此,如果搜索“myterm”,您只需建立与查询:

WHERE term = "myterm" LIMIT offset, limit 

它一旦你身边你实际上是在做什么

你的脑袋真的很简单