17.thinkphp的分页功能

一.分页功能

1.不管是数据库操作还是模型操作,都使用paginate()方法来实现(第一种方式);

php 复制代码
//查找user表所有数据,每页显示5条
returnView::fetch('index', [
 'list' => User::paginate(5)
 ]);

页数:

2.创建一个静态模版页面,并使用{volist}标签遍历列表;

php 复制代码
<table border="1">
 <tr>
 <th>编号</th>
 <th>姓名</th>
 <th>性别</th>
 <th>邮箱</th>
 <th>价格</th>
 </tr>
 {volist name='list' id='user'}
 <tr>
 <td>{$user.id}</td>
 <td>{$user.username}</td>
 <td>{$user.gender}</td>
 <td>{$user.email}</td>
 <td>{$user.price}</td>
 </tr>
 {/volist}
 </table>

3.分页功能还提供了一个固定方式,实现分页按钮,只需要设置相应的CSS即可;

php 复制代码
{$list|raw}
 <ul class="pagination">
 .pagination {
 list-style: none;
 margin: 0;
 padding: 0;
 }
 .pagination li {
 display: inline-block;
 padding: 20px;
 }
  1. 我们可以通过数组来传递多个参数(第二种方式),具体分页参数如下:
php 复制代码
$list = User::paginate([
 'list_rows' => 4,
 'var_page' => 'page',
 ]);

可以通过var_page来改变网址页数的变量。

  1. 也可以单独赋值分页的模版变量;
php 复制代码
// 获取分页显示
$page = $list->render();
 {$page|raw}
  1. 也可以单独获取到总记录数量;
php 复制代码
$total = $list->total();
  1. 如果你使用模型方式分页,则可以通过获取器修改字段值,而分页本身也可以;
php 复制代码
->each(function ($item, $key) {
 $item['gender'] = '【'.$item['gender'].'】';
 return $item;
 });
  1. 可以限定总记录数,比如,限定总记录数只有10条的页码;
php 复制代码
->paginate(5, 10);
  1. 也可以设置分页的页码为简洁分页,就是没有1,2,3,4这种,只有上下页;
php 复制代码
->paginate(5, true);
相关推荐
Mr.Jessy2 小时前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
白兰地空瓶4 小时前
🚀你以为你在写 React?其实你在“搭一套前端操作系统”
前端·react.js
爱上妖精的尾巴5 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
似水流年QC5 小时前
深入探索 WebHID:Web 标准下的硬件交互实现
前端·交互·webhid
极限实验室5 小时前
APM(一):Skywalking 与 Easyearch 集成
数据库·云原生
陪我去看海5 小时前
测试 mcp
前端
饕餮争锋5 小时前
SQL条件中WHERE 1=1 的功能
数据库·sql
speedoooo6 小时前
在现有App里嵌入一个AI协作者
前端·ui·小程序·前端框架·web app
玄斎6 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
全栈胖叔叔-瓜州6 小时前
关于llamasharp 大模型多轮对话,模型对话无法终止,或者输出角色标识User:,或者System等角色标识问题。
前端·人工智能