我正在使用Codeigniter进行分页系统,但有些东西无法正常工作。
我的搜索结果共有5个结果。
如果我每页放1个项目,则会将链接创建为
example.com/suppliers/ Page 1
example.com/suppliers/1 Page 2
example.com/suppliers/2 Page 3
example.com/suppliers/3 Page 4
example.com/suppliers/4 Page 5
这是正确的
但是,如果我每页放2个项目,则显示为
example.com/suppliers/ Page 1
example.com/suppliers/2 Page 2
example.com/suppliers/4 Page 3
如果我每页放3个项目,则显示为
example.com/suppliers/ Page 1
example.com/suppliers/3 Page 2
因此它跳跃页面的数量级相当于每页的结果。
这是用于生成分页的代码:
//Create the pagination links
$config['base_url'] = base_url().'/suppliers';
$config['total_rows'] = $this->data['count_suppliers'];
$config['per_page'] = RESULTS_IN_SEARCH;
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['prev_link'] = '<i class="fa fa-chevron-left"></i>';
$config['next_tag_open'] = '<li class="next">';
$config['next_tag_close'] = '</li>';
$config['next_link'] = '<i class="fa fa-chevron-right"></i>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close']='</li>';
$this->pagination->initialize($config);
$this->data['pagination']=$this->pagination->create_links();
在附件中,您可以看到结果。
已解决:添加$ config [&#39; use_page_numbers&#39;] = TRUE;到分页配置和对数据库进行查询时减去1,这样第1页搜索LIMIT 0,3而不是LIMIT 3,3
答案 0 :(得分:1)
我认为问题来自base_url()
。您可以使用site_url()
代替base_url();
,因此请查看差异here。
Base_url - 这是包含您的分页的控制器类/函数的完整URL。在上面的例子中,它指向一个名为“Test”的控制器和一个名为“page”的函数。请注意,如果您需要不同的结构,可以re-route your URI。
$this->load->library('pagination');
$config['base_url'] = base_url().'/suppliers';
$config['total_rows'] = 200;
$config['per_page'] = 20;
$this->pagination->initialize($config);
echo $this->pagination->create_links();
请详细了解分页here。
答案 1 :(得分:0)
如果
,您必须将页码的控制器功能设置为0public function show_entries($page = 0) {
----
$config['use_page_numbers'] = TRUE;
$per_page=2; //what ever
$config["per_page"] = $per_page;
-----
}
答案 2 :(得分:0)
尝试使用以下代码: -
$config['base_url'] = site_url('suppliers/' . $id);
如果不能正常工作,请同时添加以下代码: -
$config['uri_segment'] = 4;
$page = ($this->uri->segment($config['uri_segment'])) ? $this->uri->segment($config['uri_segment']) : 0;
$data['topics_array'] = $this->forum->get_topics($id, $config['per_page'], $page);
$data['pagination'] = $this->pagination->create_links();
另请参阅此link。
答案 3 :(得分:0)
您可以尝试在数组配置键flac
中添加获取号码页面,但不要在网址中获取开始数字项目。