thinkPHP3怎样实现分页,代码是什么
Admin 2022-09-23 群英技术资讯 416 次浏览
本文实例讲述了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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家分享的是一篇关于PHP字符串中提取文件名的实例方法,有兴趣的朋友们可以跟着学习测试下。
PHP echo的用法是什么,简单的应用是怎样的?下文的讲解详细,步骤过程清晰,对大家进一步学习和理解有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
在本篇文章里小编给大家整理了一篇关于php去掉json反斜杠的实例讲解,有兴趣的朋友们可以参考学习下。
在本篇文章里我们通过实例给大家分享了关于PHP中使用命名空间的相关知识点内容,有兴趣的朋友们学习下。
在本文中,我们将看看什么是数据库事务,为什么它们很重要,以及如何在 Laravel 开始使用它们。我们还将研究一个常见的“问题”,涉及队列和数据库事务。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008