在CodeIgniter中实现带搜索功能的分页链接

4
我们已经实现了分页搜索,但它只在第一页有效。当我点击分页中的第二页时,它无法正常工作。我尝试通过创建搜索关键字的会话来解决此问题,但它不能正常工作。 请提供一个好的解决方案。
控制器代码:
    function xyz(){
    $this->load->library('pagination');
    $config['base_url'] = "http://localhost/rainbow/admin/postList/xyz";
    $config['per_page'] = 10;
    $config['total_rows'] = $this->post_model->list_count();
    $config['uri_segment'] = 3;
    $config['page_query_string'] = TRUE;
    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $this->pagination->initialize($config); 

    $data['lists']=$this->post_model->listing($config["per_page"], $page);
    $this->load->view('includes/header');
    $this->load->view('listing/listing_post',$data);
    $this->load->view('includes/footer');

}

模型代码:

function search_listing($limit, $start)
{
    if(isset($this->input->get('search')))
    {
        $this->db->like('post_name',$this->input->get('search'))
    }
    $this->db->limit($limit, $start);
    $query=$this->db->get('blog');
    return $query->result();
}

我们使用了临时DataTable搜索Jquery:https://www.datatables.net/examples/

你遇到了什么错误?同时,提供一些代码总是更好的。 - leo.fcx
我已经使用 $config['page_query_string'] = TRUE; 应用了获取变量,但是在第二个链接上 GET 变量将为空。 - Nikunj Chavda
2个回答

1
使用CodeIgniter分页库,将$config ['page_query_string'] = TRUE; 和您的搜索元素作为查询字符串传递。
然后您的URL将会像这样:
http://localhost/project/controller/function?var=val&var1=val1&per_page=10 您可以通过以下方式获取var、var1和per_page的值:
$this->input->get('var')
$this->input->get('var1')
$this->input->get('per_page')

0

首先按照以下方式修改您的控制器

function xyz()
 {
$this->load->library('pagination');
$config['base_url'] = "http://localhost/rainbow/admin/postList/xyz";
$config['per_page'] = 10;
$config['total_rows'] = $this->post_model->list_count();
$config['uri_segment'] = 4;
$config['page_query_string'] = TRUE;
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$this->pagination->initialize($config); 

$data['lists']=$this->post_model->listing($config["per_page"], $page);
$this->load->view('includes/header');
$this->load->view('listing/listing_post',$data);
$this->load->view('includes/footer');
 }

我看到您的基本URL,并发现URI段三是您的控制器函数xyz,因此分页无法工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接