我已经能够为我的页面开发一个分页,其中包含大约25000条记录。该页面分页为100,但是现在,当我单击分页链接移至下一页时,它将再次引导我到第一页。但是我的浏览器上的URI像per page number
一样显示customers/100
。
控制器
$config['base_url'] = base_url() . 'customers/index/';
$config["total_rows"] = $customers
$config["per_page"] = 100;
$config['num_links'] = 10;
$config["uri_segment"] = 3;
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['items'] = $this->customer->get_customer_all($config["per_page"]);
模型
public function get_customer_all($limit = null) {
$this->db->select('*');
$this->db->from('courses');
if($limit!=''){
$this->db->limit($limit);
}
$query = $this->db->get();
return ($query) ? $query->result() : false;
}
答案 0 :(得分:2)
为什么不使用$page
变量?
要部分获取数据,您需要同时使用limit
和offset
。
limit
用于表示每页的客户数量,offset
用于了解您所在的页面。
因此,尝试更改您对以下模型的请求:
$data['items'] = $this->customer->get_customer_all($config["per_page"], $page);
并像这样更新模型(进行一些更改):
public function get_customer_all($limit = 0, $offset = 0) {
return $this->db->select('*')->
from('courses')->
limit($limit)->
offset($offset)->
get()->
result_array();
}