thinkphp实现数据分页

    xiaoxiao2021-03-25  126

    想要实现数据分页,可以使用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

    模板(前端)代码

    <div> {$show} </div>

    彩蛋

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

    why? 后来仔细检查了自己的代码,

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

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

    转载请注明原文地址: https://ju.6miu.com/read-11907.html

    最新回复(0)