thinkphp 下多个数组组合分页

1、假如有多个数组的情况下,又想在前端分页展示,用tp5自带的paginate 和 each 方式,个人觉得很麻烦;例如:

            $result = array_merge($assemble,$disassembly,$picking,$returnpicking,$overstock,$invtransfer);

2、可以使用以下方式解决

           $count = count($result);
        $p = getpage($count,$this->limitRow);            // getpage()  方法
        $curpage = $this->request->param("p")?$this->request->param("p"):1;    //当前第x页,有效值为:1,2,3,4,5...
        
        if($curpage == 1){
            $firstrow = 0;
        }else{
            $firstrow = ($curpage-1)*$this->limitRow;
        }
        $list = array_slice($result,$firstrow,$this->limitRow);    //$this->limitRow   是分页条数,请自己设置
        $this->assign("result",$list);
        $this->assign ( 'page', $p->show());
        
        //此方法最好写到公共函数库里,方便其他地方也可以调用,避免代码重写
        function getpage($count, $pagesize = 10) {
                $p = new Page($count, $pagesize);        //thinkphp  自带的page分页类
                //$p->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
                $p->setConfig('prev', '上一页');
                $p->setConfig('next', '下一页');
                $p->setConfig('last', '末页');
                $p->setConfig('first', '首页');
                //$p->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
                $p->lastSuffix = false;//最后一页不显示为总页数
                return $p;
            }

3、如果有用,请收藏,谢谢~~~

原文地址:http://blog.51cto.com/13647930/2087073

时间: 2024-10-06 22:16:06

thinkphp 下多个数组组合分页的相关文章

框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)

知识点: 批量导入(ocupload插件,pinyin4J /POI解析Excel(apache POI) /区域分页查询 /Combobox下拉框 /分区组合条件分页查询(ajax) /分区数据导出(Excel下载) BOS项目笔记第4天 1.    区域批量导入功能 *Ajax不支持文件上传. *上传并且不刷新上传页面原理: Target到一个0,0,0的隐藏iframe里,造成一个没有刷新的假象 <form target="myIframe" action="ab

【php】thinkphp以post方式查询时分页失效的解决方法

好久没有写博客了,最近说实话有点忙,各个项目都需要改bug.昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢博客园大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进行下一页的,这样查询条件就没有传入后台,导致

PHP基于数组的分页函数(核心函数array_slice())

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag

php基于数组的分页实现

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag

jQuery实现简单的下拉可输入组合框

[写在前面的话]网站上很多用各种插件,比如依赖bootstrap的bootstrap-select插件等.虽然这些框架可以实现很多功能,但因为在实际项目中,可能只会用到其中的某个功能,若是一概引入,会导致整个js加载过于笨重.比如前面提到的bootstrap-select插件,在不压缩的情况下,达到300多k.因此,为了实现一个可填写的下拉框有点得不偿失. 基于这种原因,于是私下用jquery写了一个比较简单的下拉可填写组合框. CSS code: 1 .container{ 2 margin:

js的prototype扩展的一个例子,模仿C#的StringBuilder功能,数组组合字符串,效率大于+拼凑

function StringBuilder() { this._strings_ = new Array;}StringBuilder.prototype.append = function (str) { this._strings_.push(str);};StringBuilder.prototype.toString = function () { return this._strings_.join("");}; js的prototype扩展的一个例子,模仿C#的Strin

ThinkPHP下使用Ueditor

在做课程设计的时候想到用百度的Ueditor,可在配置的时候出现了一些问题 Ueditor感觉不是很难,以前有个人定制的,现在取消了这项服务,但是我们可以自己进行配置 下载地址:http://ueditor.baidu.com/website/download.html#ueditor 下载好文件后,把文件解压,把文件里的所有文件放到项目下的Public文件下, 因为我们在很多地方都需要使用编辑器,所以放在Public下方便使用 在<head>--</head>下添加如下代码 ?

UITableView下拉导致数组被释放crash

问题: 数组用的[NSArray arrayWithObjectsAndkeys....]方法创建,下拉后crash. 调试: 断点调试发现,下拉后数组被清空. 解决方案: 用alloc的方法创建数组,在dealloc里释放内存,OK. UITableView下拉导致数组被释放crash,布布扣,bubuko.com

吐槽下linq to sql的分页功能

在调试程序的时候发现一个非常奇怪的问题: 用使用linq分页,分页到第二页的时候,第二页里面有第一页里出现的数据,开始还以为是. linq语句写的有问题,调试半天,无解.后来发现是因为没有排序的缘故. 使用这个q.Skip((sc.cpage.GetValueOrDefault() - 1) * psize).Take(psize).ToList()分页一定要加个排序,否则分页有问题. 吐槽下linq to sql的分页功能,码迷,mamicode.com