【问题标题】:Codeigniter Pagination creating extra links?Codeigniter 分页创建额外的链接?
【发布时间】:2018-05-05 16:55:39
【问题描述】:

我的英语不好,很抱歉有任何错误。我试图使用 codeigniter 分页库,但我遇到了一个问题,它会创建额外的链接。我的数据在两页中完成,但是当我点击第三或第四个链接时,底部出现了 4 个页面链接,它给出了错误。 这是我的控制器代码..

 public function usr_list(){
    $config = array();
    $config["base_url"] = base_url() . "usr/usr_list";
    $config["total_rows"] = $this->ListModel->record_count();
    $config['full_tag_open'] = '<ul class="pagination">';
    $config['full_tag_close'] = '</ul>';
    $config['first_link'] = false;
    $config['last_link'] = false;
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    $config['prev_link'] = '&laquo';
    $config['prev_tag_open'] = '<li class="prev">';
    $config['prev_tag_close'] = '</li>';
    $config['next_link'] = '&raquo';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';
    $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>';
    $config["per_page"] = 10;
    $config["uri_segment"] = 3;
    $choice = $config["total_rows"] / $config["per_page"];
    $config["num_links"] = round($choice);

    $this->pagination->initialize($config);

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;

    $data["results"] = $this->ListModel->getUser($config["per_page"] , $page);
    $data["links"] = $this->pagination->create_links();
    $this->load->view('userList' , $data);
}

这是我的模型代码

function getUser($limit , $start){

    $this->db->select("u_id,name,email,phone,cnic");
    $this->db->from('user');
    $this->db->limit($limit , $start);
    $query = $this->db->get();
    if($query->num_rows() > 0) {
    foreach ($query->result() as $rows) {
    $data[] = $rows;
  }
  return $data;
}
return false;

}

在图片中您可以看到最后一条记录在第 2 页,但有 4 个链接

有什么建议吗?

【问题讨论】:

  • 你能在“ListModel”模型中发布你的“record_count”函数吗?
  • 更改 $config["num_links"] = 1;甚至 0 因为这是在当前页面之前和之后显示的页面数。实际链接是根据 total_rows 和 per_page 设置计算的。
  • @vivek 这是回合函数的代码: public function record_count() { return $this->db->count_all($this->db->dbprefix . 'attendence'); }
  • @TimBrownlaw 这样做并没有解决这个问题,因为在第二页之后,当我点击下一页时,它仍然显示相同的错误。

标签: codeigniter pagination


【解决方案1】:

您的record_count() 函数返回“出席”表中的条目数,而分页表中显示的数据来自“用户”表(getUser 函数)。 'attendence' 表的记录可能比 'user' 表中的记录更多,这会为您提供额外的分页链接。

如下更改你的 record_count() 函数。

public function record_count() {
  return $this->db->count_all('user');
}

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 2014-01-29
    • 2012-06-06
    • 1970-01-01
    • 2016-05-26
    • 2012-02-14
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    相关资源
    最近更新 更多