【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():返回随机整数。

相关推荐
Susea&25 分钟前
数据结构初阶:双向链表
c语言·开发语言·数据结构
woodWu31 分钟前
Android编译时动态插入代码原理与实践
android
pianmian11 小时前
arcgis几何与游标(1)
开发语言·python
-曾牛1 小时前
【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini,Spring Boot整合实战!| 附源码
java·开发语言·人工智能·spring boot·ai·chatgpt
nanzhuhe1 小时前
python中参数前**的含义
开发语言·python
wt_cs1 小时前
身份认证C#集成方案-数字时代身份证实名认证利器
开发语言·c#
百锦再2 小时前
Android Studio 实现自定义全局悬浮按钮
android·java·ide·app·android studio·安卓
百锦再2 小时前
Android Studio 项目文件夹结构详解
android·java·ide·ios·app·android studio·idea
ghost1432 小时前
Python自学第2天:条件语句,循环语句
开发语言·python·学习
Chandler242 小时前
Go:低级编程
开发语言·后端·golang