PHP 精美分页
博主的博客采用的wordpress模板,挺不错,但是分页貌似很难看,最近抽空写了个分页的代码,贴出来分享下;
适用于所有的PHP版本分页,无论多少页,可以自定义扩展分页;分页最后的样式如图:
主要代码贴出,按自己需要传入总页数,当前页数,就可以完美使用了;
需要传入两个参数:
适用于所有的PHP版本分页,无论多少页,可以自定义扩展分页;分页最后的样式如图:
主要代码贴出,按自己需要传入总页数,当前页数,就可以完美使用了;
<?php
// $np = 4;
// $tp = 10;
// header('Content-Type:text/html;charset=utf-8');
$num = 5;
$np = (int)$np; // 当前页
$tp = (int)$tp; // 总页数
$up = $np-1; // 上一页
$dp = $np+1; // 下一页
$f = ($np == 1)?'disabled':''; // 是否为首页
$e = ($np == $tp)?'disabled':''; // 是否问尾页
?>
<div class="pagination">
<ul>
<li><span>当前 {$np}/{$tp} 页</span></li>
<li class="{$f}"><a page="1">首页</a></li>
<li class="{$f}"><a page="{$up}">上一页</a></li>
<?php
$sep = floor($num/2);
$begin = 1;
if( $tp >= $num ){
if($np > $sep && $np < ($tp - $sep) ){ $begin = $np - $sep;}
else if($np >= ($tp - $sep) ){ $begin = $tp - $num + 1; }
}else{
$num = $tp;
}
$sum = 0;
for ($i=$begin; $i < $num+$begin; $i++) {
$cp = ($np == $i) ? 'class="disabled"':''; //'.$cp.'
echo '<li '.$cp.'><a page="'.$i.'">'.$i.'</a></li>';
}
?>
<li class="{$e}"><a page="{$dp}">下一页</a></li>
<li class="{$e}"><a page="{$tp}">尾页</a></li>
</ul>
</div>
需要传入两个参数:
$tp //总页数
$np //当前页数
下面这个参数自己选择大小
$num //默认显示多少页码