?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();
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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。