# CodeIgniter 用户指南 版本 2.2.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 类`

翻译贡献者: csfhc, drazzi, Fanbin, Hex, IT不倒翁, jianghaosen, li_star, peirancao, roln, sankai, yadgen, 笼中
最后修改: 2014-06-04 20:43:16