- 欢迎使用 CodeIgniter
- 安装说明
- 下载 CodeIgniter
- 从老版本升级
- 疑难解答
- CodeIgniter 概览
- CodeIgniter 将从这里开始
- CodeIgniter 概览
- CodeIgniter 特性
- 应用程序流程图
- 模型-视图-控制器
- 设计与架构目标
- 教程 - 内容提要
- 加载静态内容
- 读取新闻条目
- 创建新闻条目
- 结束语
- 向 CodeIgniter 贡献你的力量
- 编写 CodeIgniter 的文档
- Developer's Certificate of Origin 1.1
- CodeIgniter URL
- 控制器
- 保留名称
- 视图
- 模型
- 辅助函数
- 使用 CodeIgniter 类库
- 创建类库
- 使用 CodeIgniter 驱动器
- 创建驱动器
- 创建核心系统类
- 创建附属类
- 钩子 - 扩展框架核心
- 自动加载资源
- 公共函数
- 兼容性函数
- URI 路由
- 错误处理
- 网页缓存
- 程序分析
- 以 CLI 方式运行
- 管理你的应用程序
- 处理多环境
- 在视图文件中使用 PHP 替代语法
- 安全
- PHP 开发规范
- 基准测试类
- 缓存驱动器
- 日历类
- 购物车类
- 配置类
- Email 类
- 加密类
- 加密类(新版)
- 文件上传类
- 表单验证类
- FTP 类
- 图像处理类
- 输入类
- Javascript 类
- 语言类
- 加载器类
- 迁移类
- 输出类
- 分页类
- 模板解析类
- 安全类
- Session 类
- HTML 表格类
- 引用通告类
- 排版类
- 单元测试类
- URI 类
- 用户代理类
- XML-RPC 与 XML-RPC 服务器类
- Zip 编码类
- 数据库参考
- 数据库快速入门: 示例代码
- 数据库配置
- 连接你的数据库
- 查询
- 生成查询结果
- 查询辅助函数
- 查询构造器类
- 事务
- 数据库元数据
- 自定义函数调用
- 数据库缓存类
- 数据库工厂类
- 数据库工具类
- 数据库驱动器参考
- 数组辅助函数
- 验证码辅助函数
- Cookie 辅助函数
- 日期辅助函数
- 目录辅助函数
- 下载辅助函数
- 邮件辅助函数
- 文件辅助函数
- 表单辅助函数
- HTML 辅助函数
- Inflector 辅助函数
- 语言辅助函数
- 数字辅助函数
- 路径辅助函数
- 安全辅助函数
- 表情辅助函数
- 字符串辅助函数
- 文本辅助函数
- 排版辅助函数
- URL 辅助函数
- XML 辅助函数
- The MIT License (MIT)
- 服务器要求
- 关于 CodeIgniter
分页类
CodeIgniter 的分页类非常容易使用,而且它 100% 可定制,可以通过动态的参数, 也可以通过保存在配置文件中的参数。
- 例子
- 说明
- 在配置文件中设置参数
- 自定义分页
- 添加封装标签
- 自定义第一个链接
- 自定义最后一个链接
- 自定义下一页链接
- 自定义上一页链接
- 自定义当前页面链接
- 自定义数字链接
- 隐藏数字链接
- 给链接添加属性
- 禁用 "rel" 属性
- 类参考
如果你还不熟悉 "分页" 这个词,它指的是用于你在页面之间进行导航的链接。像下面这样:
« First < 1 2 3 4 5 > Last »
例子
下面是一个简单的例子,如何在你的 控制器 方法中创建分页:
$this->load->library('pagination'); $config['base_url'] = 'http://example.com/index.php/test/page/'; $config['total_rows'] = 200; $config['per_page'] = 20; $this->pagination->initialize($config); echo $this->pagination->create_links();
说明
如上所示,$config 数组包含了你的配置参数,被传递到 $this->pagination->initialize() 方法。 另外还有二十几个配置参数你可以选择,但是最少你只需要这三个配置参数。下面是这几个参数的含义:
- base_url 这是一个指向你的分页所在的控制器类/方法的完整的 URL ,在上面的这个例子里, 它指向了一个叫 "Test" 的控制器和它的一个叫 "Page" 的方法。记住,如果你需要一个不同格式的 URL , 你可以 重新路由 。
- total_rows 这个数字表示你需要做分页的数据的总行数。通常这个数值是你查询数据库得到的数据总量。
- per_page 这个数字表示每个页面中希望展示的数量,在上面的那个例子中,每页显示 20 个项目。
当你没有分页需要显示时,create_links() 方法会返回一个空的字符串。
在配置文件中设置参数
如果你不喜欢用以上的方法进行参数设置,你可以将参数保存到配置文件中。 简单地创建一个名为 pagination.php 的文件,把 $config 数组加到这个文件中, 然后将文件保存到 application/config/pagination.php 。这样它就可以自动被调用。 用这个方法,你不再需要使用 $this->pagination->initialize 方法。
自定义分页
下面是所有的参数列表,可以传递给 initialization 方法来定制你喜欢的显示效果。
$config['uri_segment'] = 3;
分页方法自动检测你 URI 的哪一段包含页数,如果你的情况不一样,你可以明确指定它。
$config['num_links'] = 2;
放在你当前页码的前面和后面的“数字”链接的数量。比方说值为 2 就会在每一边放置两个数字链接, 就像此页顶端的示例链接那样。
$config['use_page_numbers'] = TRUE;
默认分页的 URL 中显示的是你当前正在从哪条记录开始分页,如果你希望显示实际的页数,将该参数设置为 TRUE 。
$config['page_query_string'] = TRUE;
默认情况下,分页类假设你使用 URI 段 ,并像这样构造你的链接:
http://example.com/index.php/test/page/20
如果你把 $config['enable_query_strings'] 设置为 TRUE,你的链接将自动地被重写成查询字符串格式。 这个选项也可以被明确地设置,把 $config['page_query_string'] 设置为 TRUE,分页链接将变成:
http://example.com/index.php?c=test&m=page&per_page=20
请注意,"per_page" 是默认传递的查询字符串,但也可以使用 $config['query_string_segment'] = '你的字符串' 来配置。
$config['reuse_query_string'] = FALSE;
默认情况下你的查询字符串参数会被忽略,将这个参数设置为 TRUE ,将会将查询字符串参数添加到 URI 分段的后面 以及 URL 后缀的前面。:
http://example.com/index.php/test/page/20?query=search%term
这可以让你混合使用 URI 分段 和 查询字符串参数,这在 3.0 之前的版本中是不行的。
$config['prefix'] = '';
给路径添加一个自定义前缀,前缀位于偏移段的前面。
$config['suffix'] = '';
给路径添加一个自定义后缀,后缀位于偏移段的后面。
$config['use_global_url_suffix'] = FALSE;
当该参数设置为 TRUE 时,会使用 application/config/config.php 配置文件中定义的 $config['url_suffix'] 参数 重写 $config['suffix'] 的值。
添加封装标签
如果你希望在整个分页的周围用一些标签包起来,你可以通过下面这两个参数:
$config['full_tag_open'] = '<p>';
起始标签放在所有结果的左侧。
$config['full_tag_close'] = '</p>';
结束标签放在所有结果的右侧。
自定义第一个链接
$config['first_link'] = 'First';
左边第一个链接显示的文本,如果你不想显示该链接,将其设置为 FALSE 。
注解
该参数的值也可以通过语言文件来翻译。
$config['first_tag_open'] = '<div>';
第一个链接的起始标签。
$config['first_tag_close'] = '</div>';
第一个链接的结束标签。
$config['first_url'] = '';
可以为第一个链接设置一个自定义的 URL 。
自定义最后一个链接
$config['last_link'] = 'Last';
右边最后一个链接显示的文本,如果你不想显示该链接,将其设置为 FALSE 。
注解
该参数的值也可以通过语言文件来翻译。
$config['last_tag_open'] = '<div>';
最后一个链接的起始标签。
$config['last_tag_close'] = '</div>';
最后一个链接的结束标签。
自定义下一页链接
$config['next_link'] = '>';
下一页链接显示的文本,如果你不想显示该链接,将其设置为 FALSE 。
注解
该参数的值也可以通过语言文件来翻译。
$config['next_tag_open'] = '<div>';
下一页链接的起始标签。
$config['next_tag_close'] = '</div>';
下一页链接的结束标签。
自定义上一页链接
$config['prev_link'] = '<';
上一页链接显示的文本,如果你不想显示该链接,将其设置为 FALSE 。
注解
该参数的值也可以通过语言文件来翻译。
$config['prev_tag_open'] = '<div>';
上一页链接的起始标签。
$config['prev_tag_close'] = '</div>';
上一页链接的结束标签。
自定义当前页面链接
$config['cur_tag_open'] = '<b>';
当前页链接的起始标签。
$config['cur_tag_close'] = '</b>';
当前页链接的结束标签。
自定义数字链接
$config['num_tag_open'] = '<div>';
数字链接的起始标签。
$config['num_tag_close'] = '</div>';
数字链接的结束标签。
隐藏数字链接
如果你不想显示数字链接(例如你只想显示上一页和下一页链接),你可以通过下面的代码来阻止它显示:
$config['display_pages'] = FALSE;
给链接添加属性
如果你想为分页类生成的每个链接添加额外的属性,你可以通过键值对设置 "attributes" 参数:
// Produces: class="myclass" $config['attributes'] = array('class' => 'myclass');
注解
以前的通过 "anchor_class" 参数来设置 class 属性的方法已经废弃。
禁用 "rel" 属性
默认 rel 属性会被自动的被添加到合适的链接上,如果由于某些原因,你想禁用它,你可以用下面的方法:
$config['attributes']['rel'] = FALSE;
类参考
- class CI_Pagination
- initialize([$params = array()])
参数: - $params (array) -- Configuration parameters
返回: CI_Pagination instance (method chaining)
返回类型: CI_Pagination
使用提供的参数初始化分页类。
- create_links()
返回: HTML-formatted pagination 返回类型: string 返回分页的代码,包含生成的链接。如果只有一个页面,将返回空字符串。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论