注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

背归鸿

博闻强记,厚积薄发!

 
 
 

日志

 
 

thinkphp 分页函数 findPage  

2015-05-27 14:15:43|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
/**
     +----------------------------------------------------------
     * 查询数据
     +----------------------------------------------------------
     * @access public
     +----------------------------------------------------------
     * @param mixed $options 表达式参数
     +----------------------------------------------------------
     * @param mixed $pageopt 分页参数
     +----------------------------------------------------------
     * @return mixed
     +----------------------------------------------------------
     */
     public function findPage($pageopt,$search=array(),$count=false,$options=array(),$onlyShowPage=false) {
// 分析表达式
        $options =  $this->_parseOptions($options);
// 如果没有传入总数,则自动根据条件进行统计
if($count===false){
// 查询总数
$count_options = $options;
$count_options['limit'] = 1;
$count_options['field'] = 'count(1) as count';
// 去掉统计时的排序提高效率
unset($count_options['order']);
$result = $this->db->select($count_options);
$count = $result[0]['count'];
unset($result);
unset($count_options);
}
// 如果查询总数大于0
if($count > 0) {
// 载入分页类
import('ORG.Util.Page');
// 解析分页参数
if( is_numeric($pageopt) ) {
$pagesize = intval($pageopt);
}else{
$pagesize = intval(C('LIST_NUMBERS'));
}

$p = new Page($count,$pagesize);

//解决查询条件分页
if(!empty($search))
{
foreach($search as $key=>$val)
{   
if(is_array($val)) {
                    foreach ($val as $v){
                        $p->parameter   .= "&".$key."[]=".urlencode($v);
                    }
                }else{
                    $p->parameter   .=   "&$key=".urlencode($val);  
                }  
}
}

// 查询数据
if( $onlyShowPage==false ){
$options['limit'] = $p->firstRow.','.$p->listRows;
$resultSet = $this->select($options);

if($resultSet){
$this->dataList = $resultSet;
}else{
$resultSet = '';
}
}
// 输出控制
$output['count'] = $count;
$output['totalPages'] = $p->totalPages;
$output['totalRows'] = $p->totalRows;
$output['nowPage'] = $p->nowPage;
$output['html'] = $p->show();
$output['data'] = $resultSet;
unset($resultSet);
unset($p);
unset($count);
}else{
$output['count'] = 0;
$output['totalPages'] = 0;
$output['totalRows'] = 0;
$output['nowPage'] = 1;
$output['html'] = '';
$output['data'] = '';
}
// 输出数据
return $output;
     }
  评论这张
 
阅读(1014)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017