PHP分页怎么用CodeIgniter实现_CI框架分页类详解【操作】

7次阅读

CodeIgniter分页需先加载库并配置total_rows、per_page、base_url等核心参数;CI3.x默认从URI第三段取页码,须手动同步limit/offset查询;链接样式可自定义,数据重复或缺失主因是总数与列表查询条件不一致。

PHP分页怎么用CodeIgniter实现_CI框架分页类详解【操作】

CodeIgniter 分页类怎么初始化并配置基础参数

CI 的 Pagination 类不处理数据查询,只负责生成页码 HTML,必须配合手动分页逻辑(如 limit + offset)使用。初始化前得先加载类,并明确指定总记录数、每页条数、当前页码——这三个是硬性依赖。

  • $this->load->library('pagination') 是前提,别漏掉
  • total_rows 必须是真实总数(建议用 count() 单独查一次,别直接用带 limit 的查询结果 count)
  • per_page 建议设为变量,方便后续统一调整;若为 0 或负数,分页将失效且不报错,只显示第一页内容
  • base_url 必须写全(含域名或相对路径),且需预留 {page} 占位符(CI 3.x)或用 uri_segment(CI 4.x);写错会导致链接全部指向首页

CI 3.x 中 URL 分页参数怎么取、怎么传

CI 3.x 默认从 URI 第三段读取页码(如 /news/page/2),不是 GET 参数。如果你用的是 ?page=2 这种方式,pagination 类压根不会识别,页码永远是 1。

  • 用 URI 路径方式:设置 uri_segment = 3(默认值),确保路由或控制器方法能接收该段,例如 public function index($page = 1)
  • 改用 GET 方式:必须手动获取 $_GET['page'] 并传给 initialize()cur_page 参数,同时关掉自动解析:use_page_numbers = FALSE,否则会冲突
  • 注意:CI 3.x 的 cur_page 值必须是整数,字符串"2" 会导致跳转异常;建议用 (int) $this->uri->segment(3) 强转

分页链接样式怎么自定义,避免和前端框架冲突

CI 默认生成的

text=ZqhQzanResources