搜档网
当前位置:搜档网 › phpcms自定义分页

phpcms自定义分页

/***********************************************
*phpcms v9 自定义分页函数
*@param string $model 模型
*@param int $maxRows 最大页数
*@param int $pages 当前页号
*@param int $siteid 当前站点ID
*@param int $pageMei 每页显示的数据条数
*@param string $sql 拼装好的sql语句
*@param string $shuzis 拼装好的分页数字链接
*@return string
***********************************************/
public function zdyfenye($model,$maxRows,$pages,$siteid,$sqls,$shuzis,$pageMei=10,$num=5){
$page=$pages?$pages:1;
//$pageMei=$pageMeis?$pageMeis:10;//每页数据条数
//$num=5;//显示页码个数
//$total=10;//总页数
$start=1;//开始页码
$end=0;//末尾页码
$maxPage=ceil($maxRows/$pageMei);//最大页数
$nums1=intval($num/2);//开始项当前的个数
$nums2=$num%2==0?$nums1-1:$nums1;//末尾项当前的个数 判断是偶数还是奇数,是偶数就减1
$nu=$num-$nums2;
//当计算出来的末尾项大于总页数
if($end>$maxPage){
$start=($maxPage-$num)+1;//开始项等于总页数减去要显示的数量然后再自身加1
$end=$maxPage;
}
if($page<=$nu){ //当前页数小于或等于显示页码减去末尾项,当前位置还处于页码范围<=3
$start=1;
$end=$num;
}else{
$start=$page-$nums1;//如果当前页是8 6=8-2 分页码表示6 7 8 9 10
$end=$page+$nums2;
}
if($end>=$maxPage){
$end = & $maxPage;
}

if($page>=$maxPage){
$xia= & $maxPage;
}else{
$xia=$page+1;
}
if($page<=1){
$shang= 1;
}else{
$shang=$page-1;
}

$page2=($page-1)*$pageMei;
$sql= $sqls." limit ".$page2.",".$pageMei;
$model->query($sql);
$for=$model->fetch_array();
for($i=$start;$i<=$end;$i++){
if($page==$i){
$shuzi[]="

  • ".$i."
  • ";
    }else{
    $shuzi[]="
  • ".$i."
  • ";
    }
    }
    $fanhui[1]=$for;
    $fanhui[2]=$shuzi;
    return $fanhui;
    }

    相关主题