TP3.2框架分页相关实现方法分析


Posted in PHP onJune 03, 2020

本文实例讲述了TP3.2框架分页相关实现方法。分享给大家供大家参考,具体如下:

需要用到分页的继承这个控制器即可

<?php
namespace Home\Controller;
use Think\Controller;
class BaseController extends Controller {
    /**
     * 基础分页的相同代码封装,使前台的代码更少
     * @param $count 要分页的总记录数
     * @param int $pagesize 每页查询条数
     * @return \Think\Page
    */
    function getpage($count, $pagesize = 20,$waps) {
          $Page = new \Think\Page($count,$pagesize,$waps);
     $Page->rollPage = 5;
     $Page->setConfig('header', '<li class="rows">第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
       $Page->setConfig('prev', '上一页');
       $Page->setConfig('next', '下一页');
     $Page->setConfig('last', '末页');
         $Page->setConfig('first', '首页');
         $Page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
         $Page->lastSuffix = false;//最后一页不显示为总页数
         return $Page;
    }
    /**
     * @param $model     模型
     * @param $map         where条件
     * @param $find      0 select 1=find 2=关联表
     * @return $list     数组
    */
    function _select($model,$map,$order='',$field="",$find="0",$limit=20,$join,$param){
        $waps = $param;
        if(empty($model) && empty($map)){
            $this->list = array();
        }else{
            if($find == 0){
                $count = $model->where($map)->count();
                $Page = $this->getpage($count,$limit,$waps);
                if($Page->firstRow < 0){
                    $Page->firstRow = 0;
                }
                if($order != ""){
                    $this->list = $model->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                }else{
                    $this->list = $model->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                }
                $this->page = $Page->show();
            }else if($find == 1){
                $this->list = $model->field($field)->where($map)->find();
            }else if($find == 3){
                $count = $model->alias("t1")->join($join)->where($map)->count(); 
                $Page = $this->getpage($count,$limit,$waps);
                if($Page->firstRow < 0){
                    $Page->firstRow = 0;
                }
                if($order != ""){
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                }else{
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                }
                $this->page = $Page->show();
            }else if($find == 4){
                if($order != ""){
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->find();
                }else{
                    $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->find();    
                }
            }
            $this->limit = $Page->firstRow;
            $this->assign("listinfo",$this->list);
            $this->assign("page",$this->page);
            return($this->list);
        }
    }
}

控制器中先继承后使用。

if($this->txt_keyword){
    $where['m_title'] = array('like','%'.$this->txt_keyword.'%');
}
 
$where['status'] = $param['status'] = 0;
$this->_select($this->information_mod,$where,'','*',0,10,'',$param);
$this->display();

模板中

<div class="hg_page" >
   {$page}
</div>

分页样式

<style>
 .hg_page .first, .hg_page .current, .hg_page .num, .hg_page .next, .hg_page .end, .hg_page .rows, .hg_page .prev{
  float: left;
  height: 37px;
  padding: 0 15px;
  border: 1px solid #e5e5e5;
  line-height: 37px;
  margin: 0 3px;
 }
 .hg_page{
  text-align: center;
  height: 37px;
  margin:0 auto;
  margin-top: 30px;
  margin-bottom: 20px;
  width: 800px;
 }
</style>

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php数组键名技巧小结
Feb 17 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
php抽象类用法实例分析
Jul 07 PHP
PHP加密解密函数详解
Oct 28 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php intval函数用法总结
Apr 14 PHP
php利用array_search与array_column实现二维数组查找
Jul 08 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
PHP Trait功能与用法实例分析
Jun 03 #PHP
PHP时间相关常用函数用法示例
Jun 03 #PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 #PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 #PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 #PHP
PHP数组基本用法与知识点总结
Jun 02 #PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 #PHP
You might like
基于php伪静态的实现详细介绍
2013/04/28 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
php动态绑定变量的用法
2015/06/16 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python实现通讯录功能
2018/02/22 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python高并发和多线程有什么关系
2020/11/14 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
自荐书格式
2013/12/01 职场文书
亲子拓展活动方案
2014/02/20 职场文书
工作检讨书怎么写
2014/10/10 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
小学三年级作文之写景
2019/11/05 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP