thinkphp实现数据分页

本文介绍如何在ThinkPHP 3.2.3中实现数据分页功能,通过具体实例展示了如何设置每页显示的记录数量及如何获取并展示分页链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要实现数据分页,可以使用thinkphp自带的分页函数Page();
在thinkphp3.2.3中要实现分页,和3.1不同的是3.2.3中把page=newPage()page = new \Think\Page($count,5);
下面是实现分页的代码。特别简单。

下面写一个控制器TestController为例,表为User表

<?php
namespace Home\Controller;
use Think\Controller;
class TestController extends Controller{
Public function index(){
$model=M('User');
$count=$model->count();
$page=new\Think\Page($count,5);//一页显示五条数据
$show=$page->show();//把$page显示出来,其实就是一段前端代码
$list=$model->limit($page->firstRow,$page->listRows)->select();//表示从第几条记录开始显示,每页显示几条
/***打印$page->firstRow和$->page->listRows可以了解一下是什么,看图二**/
$this->assign('list',$list);
$this->assign('show',$show);
}
}

代码解析:

echo $show;//见图1
echo "<br>".$page->firstRow."----".$page->listRows;//见图2,3,4

图1
图1

图2

图3

模板(前端)代码

<div>
{$show}
</div>

彩蛋

(其实不是。。。。)是提醒,在我第一次写这段代码的时候,由于粗心,造成了每一页的数据都有重复。。。,大家不要犯啊啊啊。

这里写图片描述

这里写图片描述

这里写图片描述

why?
后来仔细检查了自己的代码,
这里写图片描述

发现原来自己的listRows少写了一个s,致使会有重复数据出现,而且,我只让显示一条数据,但是第二页出现了一条,id却是1,和第一页一样,第三页出现了两条数据。。。
所以我才充分理解了listRows的意思,是每页显示的记录数,firstRow+listRows就等于下一页的第一条数据的id啊,而listRow就是当前页-1条数据了吧。

所以大家要注意不要粗心写错代码哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦虑的说说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值