目录搜索
欢迎目录快速参考图基本信息服务器要求许可协议变更记录关于CodeIgniter安装下载 CodeIgniter安装指导从老版本升级疑难解答介绍开始CodeIgniter 是什么?CodeIgniter 速记表支持特性应用程序流程图模型-视图-控制器架构目标教程内容提要加载静态内容创建新闻条目读取新闻条目结束语常规主题CodeIgniter URL控制器保留字视图模型辅助函数使用 CodeIgniter 类库创建你自己的类库使用 CodeIgniter 适配器创建适配器创建核心系统类钩子 - 扩展框架的核心自动装载资源公共函数URI 路由错误处理缓存调试应用程序以CLI方式运行管理应用程序处理多环境PHP替代语法安全开发规范类库参考基准测试类日历类购物车类配置类Email 类加密类文件上传类表单验证详解FTP 类图像处理类输入类Javascript 类语言类装载类迁移类输出类分页类模板解析器类安全类Session 类HTML 表格类引用通告类排版类单元测试类URI 类User-Agent 类表单验证XML-RPC 和 XML-RPC 服务器Zip 编码类缓存适配器适配器参考适配器数据库类Active Record 类数据库缓存类自定义函数调用数据库配置连接你的数据库数据库快速入门例子代码字段数据数据库维护类查询辅助函数数据库类查询生成查询记录集表数据事务数据库工具类JavaScript类辅助函数参考数组辅助函数CAPTCHA 辅助函数Cookie Helper日期辅助函数目录辅助函数下载辅助函数Email 辅助函数文件辅助函数表单辅助函数HTML辅助函数Inflector 辅助函数语言辅助函数数字辅助函数路径辅助函数安全辅助函数表情辅助函数字符串辅助函数文本辅助函数排版辅助函数URL 辅助函数XML 辅助函数
文字

CodeIgniter 用户指南 版本 2.1.0

编辑文档、查看近期更改请 登录 或 注册  找回密码
查看原文

分页类

CodeIgniter 的分页类是一个非常简单,并且 100% 用户自定义的类。

分页类允许你通过提交链接从一个页面导航至另一个页面,如下:

« 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”。 记住,你可以重新路由你的 URI,如果你需要一个不同的结构。
  • total_rows 这个数字展示了你需要做分页的数据总行数。这个数值是你查询数据库得到的数据总量。
  • per_page 这个数字计划了你每个页面中希望展示的项目数量,在上面的那个例子中,你可以得到每页显示 20 个项目。

当你没有分页需要显示时,create_links() 方法会返回一个空的字符串。

在配置文件中设置参数

如果你不喜欢用以上的方法设定你的喜欢,你可以用简单的创建一个新的文件叫做 pagination.php,把 $config 数组加到这个文件中。把文件保存至 config/pagination.php 可以让它被自动使用。用这个方法,你不在需要使用 $this->pagination->initialize 方法。

自定义分页

下面是一个参数列表,你可以通过初始化方法来定制你喜欢的显示效果。

$config['uri_segment'] = 3;

分页方法自动测定你 URI 的哪个部分包含页数。如果你需要一些不一样的,你可以明确指定它。

$config['num_links'] = 2;

放在你当前页码的前面和后面的“数字”链接的数量。比方说值为 2 就会在每一边放置 2 个数字链接,就像此页顶端的示例链接那样。

$config['use_page_numbers'] = TRUE;

默认分页URL中是显示每页记录数,启用use_page_numbers后显示的是当前页码,如下:

不启用:http://example.com/index.php/test/page/20
启用后:http://example.com/index.php/test/page/1

$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['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['last_link'] = 'Last';

你希望在分页的右边显示“最后一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。

$config['last_tag_open'] = '<div>';

“最后一页”链接的打开标签。

$config['last_tag_close'] = '</div>';

“最后一页”链接的关闭标签。

自定义“下一页”链接

$config['next_link'] = '&gt;';

你希望在分页中显示“下一页”链接的名字。如果你不希望显示,可以把它的值设为 FALSE 。

$config['next_tag_open'] = '<div>';

“下一页”链接的打开标签。

$config['next_tag_close'] = '</div>';

“下一页”链接的关闭标签。

自定义“上一页”链接

$config['prev_link'] = '&lt;';

你希望在分页中显示“上一页”链接的名字。如果你不希望显示,可以把它的值设为 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;
// 不显示“数字”链接

给链接添加 CSS 类

如果你想要给每一个链接添加 CSS 类,你可以添加如下配置:

$config['anchor_class'] = "";
//添加 CSS 类

 

翻译贡献者: Fanbin, Hex, IT不倒翁, li_star, peirancao, roln, sankai, yadgen, 笼中
最后修改: 2012-04-12 11:28:02
上一篇:下一篇: