用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7588|回复: 15
收起左侧

[HELP] 关于CI的分页类的参数疑问

[复制链接]
发表于 2009-9-9 11:30:42 | 显示全部楼层 |阅读模式
今天练习CI的分页类,发现好像和我想的不太一样,看代码:
  $this->load->helper('url');
  $this->load->library('pagination');
  $config['base_url']=site_url('my_msg/index/').'/';
  $config['total_rows']=$query->num_rows();
  $config['per_page']=2;
  $this->pagination->initialize($config);
  echo $this->pagination->create_links();

注意看$config['per_page']=2;这个参数,$query->num_rows();的值是7,也就是说总数为7,那么$config['per_page']=2;的话,应该有4页,最后一页是1条记录!然后看链接:
< 1 2 3 4 >
URL地址分别为:
1:http://192.168.1.1/my_msg/index.php/my_msg/index/
2:http://192.168.1.1/my_msg/index.php/my_msg/index/2
3:http://192.168.1.1/my_msg/index.php/my_msg/index/4
4:http://192.168.1.1/my_msg/index.php/my_msg/index/6

我晕,URL里最后一段的值代表的竟然不是页数的值,而是sql里limit的参数!仔细想想这么传参也不无道理,只是感觉别扭!大家是怎么处理的啊?
发表于 2009-9-9 12:16:42 | 显示全部楼层
我也发现这个地方了,<1 2 3 4 >是页数,当你把鼠标放在数字上,它会给一个连接,4 对应的就是 6。根据你的设置$config['per_page'],4 每次对应的数会不一样。

我第一次弄的时候,看了好长时间,也想了好长时间。习惯就好了。

我到是有一个办法,那就是。。。不要把<1 2 3 4> 看成数字。。。。。把它们看成字母。。。<A B C D>
这样看一下就不会太别扭了。。。
Ahttp://192.168.1.1/my_msg/index.php/my_msg/index/
Bhttp://192.168.1.1/my_msg/index.php/my_msg/index/2
Chttp://192.168.1.1/my_msg/index.php/my_msg/index/4
Dhttp://192.168.1.1/my_msg/index.php/my_msg/index/6
发表于 2009-9-9 12:22:33 | 显示全部楼层
CI 的分页类传的就是偏移量,不是页数,CI 的分页类就是这么设计的,你如果不喜欢,可以自己扩展或修改。
发表于 2009-9-9 13:26:10 | 显示全部楼层
深有同感啊。
发表于 2009-9-9 13:29:23 | 显示全部楼层
深有同感啊。
发表于 2009-9-9 13:29:43 | 显示全部楼层
怎么样获取当前页啊?????? 和总的多少页
发表于 2009-9-9 14:17:07 | 显示全部楼层
当前页?你在哪里取?
 楼主| 发表于 2009-9-9 14:24:33 | 显示全部楼层
2# kc80cn

朋友,你很诙谐啊~
 楼主| 发表于 2009-9-9 14:25:36 | 显示全部楼层
6# wrz

我理解的这些都是有分页类自动算的,你不需要管!除非你自己写分页,那样的话你可以根据你的实际情况来直接设定
发表于 2009-9-9 14:40:25 | 显示全部楼层
由偏移量换算成页数很简单吧?有总数有偏移量,除一下不就可以了吗?

本版积分规则