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

CI分页器pagination的原理及与table类结合示例

[复制链接]
发表于 2011-11-25 08:36:31 | 显示全部楼层 |阅读模式
本帖最后由 zhlgame 于 2011-11-25 08:53 编辑

本人在使用CI pagination类的时候,参考官网的user guide,但始终无法正常调试出一个最基本的分页器.
问题:不理解ci分页器的原理及与table类的协作方式.
解决:后来我参考了hex老大的教程,结合自己不断实践,终于理解了ci分页器的原理,分享出来供新手参考.
原理:通过url传递偏移量,在获得偏移量后,pagination类会自动进行处理.
我所遇到的问题,当时就是对offset的理解不深刻.
最简单的示例模型(英文官网user guide上的example,并没有提到如何与table类协作.)
PHP复制代码
 
public function list()
{
$this->load->library('pagination');//加载分页类
$config['base_url'] = base_url().'index.php/main/list';//设置基地址
$config['uri_segment']=3;//设置url上第几段用于传递分页器的偏移量
$config['total_rows'] = $this->db->count_all('db_list');//自动从数据库中取得total_row信息
$config['per_page'] = 10; //每页显示的数据数量
$this->pagination->initialize($config); //设置完成分页器
$this->load->library('table');//加载表格类
$query=$this->db->get('my_list',$config['per_page'],$this->uri->segment(3));//这一行代码是关键!是pagination与table结合的关键.per_page告诉此次sql查询限制数量,uri_segment告诉此次查询的偏移量(从哪一行数据开始查询).
echo $this->table->generate($query);//显示查询到的数据
echo $this->pagination->create_links();//显示分页器
}
 
复制代码
发表于 2011-11-25 10:24:03 | 显示全部楼层
原来是这样 !!!
发表于 2011-11-27 19:22:43 | 显示全部楼层
原来如此{:soso_e142:}
发表于 2012-4-14 22:47:54 | 显示全部楼层
不管怎样先收藏了
发表于 2012-6-5 11:27:46 | 显示全部楼层
我正在学习ci分页类,多谢分享
发表于 2015-2-14 12:25:48 | 显示全部楼层
乱七八糟,这就是用在PHP代码中用表格布局来输出pagination类生成信息。

本版积分规则