php封装较好的数字分页方法类

php封装较好的数字分页方法类

/**

* 获取页码导航HTML

* @param $pageNum:当前页码

* @param $pageSize:每页数量

* @param $rowCount:记录总数

* @param $navUrl:链接页面URL

*/

function getNavHtml($pageNum,$pageSize,$rowCount,$navUrl){

$pageCount = (int)($rowCount/$pageSize); //总页数

if ($rowCount % $pageSize >0){

$pageCount++;

}

if ($pageNum>$pageCount){

$pageNum = 1;

}

$firstNav = "首页 ";

$lastNav = "尾页 ";

$prevNav="";

$nextNav="";

if ($pageNum>1){

$navPageNum = $pageNum-1;

$prevNav = "上一页 ";

}

if ($pageNum<$pageCount && $pageCount>1){

$navPageNum = $pageNum+1;

$nextNav = "下一页 ";

}

$amongNav="";//关键循环

for ($i=1;$i<=5;$i++){

$navPageNum = $pageNum+ $i-3;

if ($navPageNum>0 && $navPageNum<=$pageCount){

$navCSS = $navPageNum == $pageNum?" ":"";

$amongNav.="{$navPageNum} ";

}

}

return $firstNav.$prevNav.$amongNav.$nextNav.$lastNav." ".$pageNum."/".$pageCount." 共有[".$rowCount."]条数据";

}

}