怎么在thinkphp中实现一个数组分页功能

介绍

这期内容当中小编将会给大家带来有关怎么在thinkphp中实现一个数组分页功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

利用页面类和限制方法,代码如下:

用户=美元(& # 39;用户# 39;);//实例化用户对象

数=用户→美元,(& # 39;状态=1 & # 39;)→count();//查询满足要求的总记录数

页面=new \认为\美元(数美元,25);//实例化分页类传入总记录数和每页显示的记录数(25)

=展示页面→美元显示();//分页显示输出

//进行分页数据查询注意限制方法的参数要使用页面类的属性

列表=用户→美元,(& # 39;状态=1 & # 39;)→订单(& # 39;create_time& # 39;)→限制(页面→美元firstRow强生# 39;,& # 39;。页面→美元listRows)→选择();

$ this→分配(& # 39;列表# 39;美元列表);//赋值数据集

$ this→分配(& # 39;页面# 39;,显示美元);//赋值分页输出

$ this→显示();//输出模板

基本思想就是先计算总的记录数,然后根据所设置的每页显示的记录数来分页。使用Thinkphp封装好页面的类可以很方便的实现。实现的重点在第11行,限制方法就是按照一定的规则从查询数据中抽取数据。但是数据已经取出又怎么办呢?

我们用到了php自带的函数array_slice()。定义在此:http://www.php.net/manual/en/function.array-slice.php

其实就是数组版的限制方法。好了,工具找到了,实现就很容易了。直接上代码:

代码如下:


公共职能nodeslist () {
$门户=新PortalApi;
节点列表=门户→美元getNodeLists ($ this→uid);

$ count=count($节点列表(& # 39;数据# 39;]);
$ p=新页面(数美元,10);
列表=array_slice美元(美元节点列表(& # 39;数据# 39;],p→美元firstRow, $ p→listRows);
页面=p→美元显示();
$ this→分配(& # 39;页面# 39;美元页面),
$ this→分配(& # 39;节点# 39;美元列表),
$ this→显示();
,}

代码有删减,只保留实现细节。

第3行getNodeLists方法从数据库中取出数据并赋值给数组节点列表。

第5行计数计算出数组元素的个数。

第6行为页面类传入参数。

第7行的array_slice函数代替了限制方法。原理相同。

第9行用分配方法为模版赋值。定义在此:http://document.thinkphp.cn/manual_3_2.html指定

第十行同理。

下面是视图中的代码:

代码如下:


, & lt; div类=皃age-list"在

{$页面}

, & lt;/div>

如果仅仅这样的话,显示出来的效果并不友好。再找出来的页面类的定义:

代码如下:


//分页显示定制

私人$ config=阵列(

& # 39;头# 39;=比;& # 39;& lt;跨类=皉ows"在共% TOTAL_ROW %条记录& lt;/span> & # 39;

& # 39; prev # 39;=比;& # 39;上一页& # 39;,

& # 39;未来# 39;=比;& # 39;下一页& # 39;,

& # 39;第一个# 39;=比;& # 39;第一页& # 39;,

& # 39;这# 39;=比;& # 39;……% TOTAL_PAGE % & # 39;

& # 39;主题# 39;=比;& # 39;%第一% % % % % % DOWN_PAGE LINK_PAGE UP_PAGE % % % & # 39;最后,

上述就是小编为大家分享的怎么在thinkphp中实现一个数组分页功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

怎么在thinkphp中实现一个数组分页功能