自己弄的一个简单分页函数,完全够用了,效果如下图
/**
* php简单分页函数 by huqiao.net
* @param int $totalPage 总页数
* @param int $nowPage 当前页数
* @return string
*/
function GetPages($totalPage, $nowPage){
if($totalPage==1 || $totalPage<1)
{
return "";
}
$PageList = "";
$nPage = $nowPage-1;
$lPage = $nowPage+1;
if($nowPage==1)
{
$PageList.="";
}
else
{
if($nPage==1)
{
$PageList.="<li class=\"prev\"><a href='./'>«</a></li>";
}
else
{
$PageList.="<li class=\"prev\"><a href='{$nPage}.html'>«</a></li>";
}
}
if($totalPage>10){
$nowlistPage = $nowPage+4;
if($nowlistPage>=$totalPage){
$nowlistPage = $totalPage;
$sxd = $totalPage-10;
}else{
$sxd = $nowPage-4;
if($sxd<0){
$sxd = 0;
$nowlistPage = 10;
}
}
$sd = $sxd+1;
}else{
$sd = 1;
$nowlistPage = $totalPage;
}
if($nowPage>=5 && $totalPage>10){
$PageList.="<li><a href='./'>1 ...</a></li>";
}
for($i=$sd;$i<=$nowlistPage;$i++)
{
if($i==1)
{
if($nowPage!=1)
{
$PageList.="<li><a href='./'>1</a></li>";
}
else
{
$PageList.="<li class=\"active\"><a>1</a></li>";
}
}
else
{
$n = $i;
if($nowPage!=$i)
{
$PageList.="<li><a href='{$i}.html'>".$n."</a></li>";
}
else
{
$PageList.="<li class=\"active\"><a>{$n}</a></li>";
}
}
}
if(($totalPage-$nowPage)>=7 && $totalPage>10){
$PageList.="<li><a href='{$totalPage}.html'>... {$totalPage}</a></li>";
}
if($lPage <= $totalPage)
{
$PageList.="<li><a href='{$lPage}.html'>»</a></li>";
}
return $PageList;
}
echo GetPages(30,6);