分页不适用于我的应用程序-CodeIgniter

时间:2019-05-22 14:29:34

标签: php codeigniter

我已经能够为我的页面开发一个分页,其中包含大约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;
    }

1 个答案:

答案 0 :(得分:2)

为什么不使用$page变量? 要部分获取数据,您需要同时使用limitoffsetlimit用于表示每页的客户数量,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();
}