TP3.2框架分页相关实现方法。,具体如下:
需要用到分页的继承这个控制器即可
<?php
namespace HomeController;
use ThinkController;
class BaseController extends Controller {
/**
* 基础分页的相同代码封装,使前台的代码更少
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
* @return ThinkPage
*/
function getpage($count, $pagesize = 20,$waps) {
$Page = new ThinkPage($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);
}
}
}







