📜  Codeingiter 分页 (1)

📅  最后修改于: 2023-12-03 15:30:02.730000             🧑  作者: Mango

CodeIgniter 分页

在 CodeIgniter 中实现分页功能是相对简单的。CodeIgniter 提供了内置的分页库来帮助我们轻松地在应用程序中实现分页。

CodeIgniter中的分页类

CodeIgniter 中的分页类是 CI_Pagination 类。该类包括一组方法,在构建分页链接和指定数据集中方便地创建分页。该类在 CodeIgniter 中已经预加载,因此您无需在应用程序中使用 autoload 文件来加载它。

分页配置选项

使用分页类之前,您需要在 CodeIgniter 的配置文件中设置分页选项。系统会默认读取分页配置文件 config/pagination.php,如果修改了配置文件,需要在导入分页类之前修改相关配置:

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;
  • base_url: 你的分页的基础URL地址;可以使用CI内置的url_helper中的site_url()或者base_url()函数来生成
  • total_rows: 总数量,这个一般是从数据库查询出来的。
  • per_page: 每页显示多少数量。
分页内容的样式 (非必要)
$config['full_tag_open'] = '<nav aria-label="navigation">';
$config['full_tag_close'] = '</nav>';

$config['first_link']      = '首页';
$config['first_tag_open']  = '<span class="page-link">';
$config['first_tag_close'] = '</span>';

$config['last_link']       = '末页';
$config['last_tag_open']   = '<span class="page-link">';
$config['last_tag_close']  = '</span>';

$config['next_link']       = '下一页';
$config['next_tag_open']   = '<span class="page-link">';
$config['next_tag_close']  = '</span>';

$config['prev_link']       = '上一页';
$config['prev_tag_open']   = '<span class="page-link">';
$config['prev_tag_close']  = '</span>';

$config['cur_tag_open']    = '<span class="page-link active">';
$config['cur_tag_close']   = '</span>';

$config['num_tag_open']    = '<span class="page-link">';
$config['num_tag_close']   = '</span>';
基本用法
$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$this->load->library('pagination');
$this->pagination->initialize($config);

echo $this->pagination->create_links();

这将生成带有适当样式和方法的分页链接。

分页链接的 CSS 样式

默认情况下,分页链接将没有任何样式或类。但是,您可以为当前页链接,下一页、上一页等链接创建 class 或任何自定义字段。

这里可以自己写css样式,这里就不再赘述了。

翻页信息

您可以使用以下代码在视图中构建关于翻页的必要信息。

echo "当前显示 {$starting} - {$ending} 条结果,总共 {$total_rows} 条结果";

参考阅读:https://codeigniter.com/user_guide/libraries/pagination.html