Codeigniter搜索词与分页

时间:2013-10-23 21:10:08

标签: codeigniter model controller pagination search-form

仍在掌握PHP和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();
                }

那么,关于我现在如何通过$ this-> input-> post('search_term')的任何建议;从Controller到我的模型使用如下:

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

此外,我相信我接下来会遇到一个问题,即在每个页面中保持搜索字词变量。

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

1 个答案:

答案 0 :(得分:0)

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

您会将搜索字词传递给您的模型函数,就像任何其他参数&在查询中搜索它;限制和正如您现在所做的那样,将offset简单地标记到查询的末尾。

因此,如果搜索“myterm”,您只需使用以下命令构建查询:

WHERE term = "myterm" LIMIT offset, limit

一旦你了解了自己的实际行动,这真的很简单