thinkPHP3怎样实现分页,代码指的是什么
发布时间:2023-05-10 13:57:22 所属栏目:PHP教程 来源:
导读:这篇文章主要讲解了“thinkPHP3怎样实现分页,代码是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起
这篇文章主要讲解了“thinkPHP3怎样实现分页,代码是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。 本文实例讲述了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> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐