CodeIgniter分页url页码

时间:2012-04-16 14:54:53

标签: php codeigniter pagination

从我看到的,CodeIgniter的分页是错误地计算页面,因为我的分页看起来像这样:

  

1 2 3>

它很好,问题在于每个分页号码网址,除了第一个:

来自分页的

数字 2 具有以下网址:

  

http://my-url.com/index.php/page/ 1

数字 3 有以下网址:

  

http://my-url.com/index.php/page/ 2

因此,数字是URL每次减少1。

如何解决这个问题,以便网址中的网页编号与分页中的网页编号相同?

我的分页配置:

$config['per_page']    = 5;
$config['base_url']    = site_url('page');
$config['uri_segment'] = 2;
$page = $this->uri->segment(2);
$total_rows_array = $this->records->get($config['per_page'], $page * $config['per_page']); // parameters: limit, offset.
$config['total_rows']  = count($total_rows_array);

2 个答案:

答案 0 :(得分:14)

你有同样的问题,我添加了这个配置行:

$config['use_page_numbers'] = TRUE;

它就像一个魅力!

答案 1 :(得分:4)

您是否在分页配置中使用页码?

CodeIgniters分页的工作方式(默认情况下)是您设置要在代码中显示的记录数,CodeIgniter计算出偏移量并将其附加到URL。

第1页(如果你愿意)最后没有数字的原因是因为没有偏移,第2页的偏移量为1,因为它偏移了那么多记录。哇,在我开始输入这个答案之前,这比我想象的要困难得多!

:编辑:

此外,如果您在分页配置中使用页码,我想代码点火器正在获取per_page数量并将其乘以页码以获得记录的实际偏移量。

对于实际偏移,第2页真的可以用per_page(15)* page_number(1)= 15。