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

[初级] CodeIgniter分页类的使用

[复制链接]
发表于 2014-12-3 23:00:41 | 显示全部楼层 |阅读模式
本帖最后由 8966092 于 2014-12-4 12:08 编辑

首先不得不说的一句是,CodeIgniter的手册写得不够好,不够完整,很多参数设置都没有列出来,所以光看手册是远远不够的。

很多朋友对CodeIgniter分页类表示很揪心,CodeIgniter分页类确实很好用,只是手册上写得不够清楚,没有结合一些比较完整的例子来讲解,只是写了如何配置分页类和输出分页代码。

最近才开始使用CodeIgniter,所以把CodeIgniter分页类的用法大致记一下,方便自己,也方便有需要的朋友。

这里讲的是如何使用页码来实现分页,而不是用默认的偏移量。

PHP复制代码
 
// 加载分页类
$this->load->library('pagination');
 
// 分页设置
$config['base_url']       = site_url('album/page'); //url地址
$config['total_rows']     = 100; //总数据量(一般从数据库读取,可以使用$this->db->count_all_results('表名');)
$config['per_page']       = 2; // 每页显示数量
$config['use_page_numbers'] = TRUE; // 使用页码方式而非偏移量方式传值
 
 
// 执行分页类初始化
$this->pagination->initialize($config);
 
// 数据库查询(假设已经装载了数据库类)
$page = (int)$this->uri->segment(3); // 获取页码
$offset = $page == false?0:($config['per_page'] * ($page - 1)); // 计算偏移量
 
$this->db->limit($config['per_page'], $offset); // limit(每页显示数量,偏移量)
$data['list'] = $this->db->get('表名')->result_array(); // 获取数据库里的数据
 
// 生成分页链接
$data['page_list'] = $this->pagination->create_links();
 
// 输出模板
$this->load->view('album_index', $data);
 
复制代码



更多详细的内容,欢迎移步至:http://caiweiming.com/how-to-use-the-codeigniter-pagination-class.html

本版积分规则