【ThinkPHP】PHP实现分页功能

查询列表数据,需要用到分页功能,下面是分页功能的代码:

php 复制代码
 /**
     * Summary of userList
     * @return \think\response\Json
     */
    public function userList()
    {

        $page = input("page")?:1;//当前页数
        $size = input("size")?:10;//每页大小
        $start = ($page-1)*$size;//跳过的条数
        $total = 0;
        $pageTotal = 0;

        $userList = User::where([["deleted", "=", 0]])->order("id", "desc")->limit($start,$size)->select();
        $total = User::where([["deleted", "=", 0]])->order("id", "desc")->count();
        $pageTotal = ceil($total/$size);//计算总页数  ceil向上舍入为最接近的整数。

        return $this->success(["userList"=>$userList,"page"=>$page,"size"=>$size,"total"=>$total,"pageTotal"=>$pageTotal]);
    }

其中计算总页数时使用到来Math中的一个函数:ceil,作用是向上取最接近的整数,如:2.1 则取3。

floor():向下舍入为最接近的整数;

round():对浮点数进行四舍五入;

rand():返回随机整数。

相关推荐
隐积7 小时前
3.1.7.Qt容器大家族(3):QVariant——万能盒子
开发语言·qt
名字还没想好☜10 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
初级代码游戏11 小时前
iOS开发 Swift 速记1:变量和基本数据类型
开发语言·ios·swift
凡尘——雨落凡尘11 小时前
PHP 线上十大隐形故障复盘:90% 的网站卡顿、502、雪崩,都是这些细节导致的
redis·nginx·php·session
酷在前行12 小时前
【R生态】PERMANOVA 进阶实战:距离选择、PERMDISP、两两比较与受限置换(保姆级教程)
开发语言·r语言
cxr82812 小时前
Graphify vs GitNexus vs CodeGraph — 三工具架构深度对比
开发语言·架构·知识图谱
废弃的小码农13 小时前
功能测试--Day07--Python编程基础
开发语言·python
fengci.14 小时前
Microweber CMS 未授权路径穿越漏洞(CVE-2026-65694)
android·开发语言·前端·学习·php
程序员zgh14 小时前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
念何架构之路14 小时前
restartmanager-重启管理子系统
java·开发语言