0

仍然掌握 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'); 的任何建议 从控制器到我的模型使用如下:

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

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

非常欢迎任何建议 - 我已经为此工作了几个小时,但没有任何结果!:)

4

1 回答 1

0

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

您将像任何其他参数一样将您的搜索词传递给您的模型函数并在查询中对其进行搜索;正如您现在所做的那样,limit 和 offset 只是简单地标记到查询的末尾。

因此,如果搜索“myterm”,您只需构建一个查询:

WHERE term = "myterm" LIMIT offset, limit

一旦你了解了你实际在做什么,这真的很简单

于 2013-10-23T22:42:40.430 回答