首页 > php学习 > 用php写的一个高级超牛分页效果,php高级常用分页类

用php写的一个高级超牛分页效果,php高级常用分页类

2015年3月14日 发表评论 阅读评论

用php写的一个非常好的分页效果,和discuz的分页效果一致,而且代码精简,已经通过各种方法测试,暂时未发现问题,记录存档,做个记号,也希望有需要的人能搜索到本帖,把分页代码拿回去好好用吧。
<style type=”text/css”>
#list_page a{height:26px;line-height:26px;padding:0px 8px 0px 8px;border:1px solid #F00;float:left;margin-left:3px; display:block;}
#list_page a:hover{border:1px solid #00F;background:#999;}
#list_page .pageOn{color:#F00;border:1px solid #3F9;background:#999;}
</style>

<div id=”list_page”>
<?php
$pagecount=20;//分页总数
$page_url=”?page=”;//分页传递地址栏值
$page=$_GET[“page”];//获取分页

if($pagecount>0){
$page=intval($page?$page:1);
$page_url=$page_url?$page_url:”?”;
if($page>5) {
if($page>=$pagecount){
if($pagecount<9) $starti=1;
else $starti=$pagecount-9;
$endi=$pagecount;
$page=$pagecount;
}
else{
if($pagecount-$page<=4){
$starti=$pagecount-9;
$endi=$pagecount;
}
else {
$starti=$page-4;
$endi=$page+4;
}
}
}
else {
$starti=1;
if($pagecount>10) $endi=10;
else $endi=$pagecount;
if(!$page) $page=1;
}
if($page!=1){
if($page>5) echo ‘<a href=”‘.$page_url.’1″>第一页</a>’;
echo ‘<a href=”‘.$page_url.($page-1).'”>上一页</a>’;
}
for($pi=$starti;$pi<=$endi;$pi++){
echo ‘<a href=”‘.((($pi==1 && $page==1) || ($pi==$pagecount && $page==$pagecount))?”###”:($page_url.$pi)).'”‘.($pi==$page?” class=’pageOn'”:””).’>’.$pi.'</a>’;
}
if($pagecount-$page>4){
echo ‘<a href=”‘.$page_url.$pagecount.'”>…’.$pagecount.'</a>’;
}
if($page!=$pagecount && $page<$pagecount){
echo ‘<a href=”‘.$page_url.($page+1).'”>下一页</a>’;
}
}
?>
</div>
经测试用php写的一个高级超牛分页效果已经完善,你们还可以将它封装成php高级常用分页类

分类: php学习 标签:
  1. icyzhl
    2015年3月23日11:20 | #1

    修正如下:
    if($pagecount>1){
    $page=intval($page?$page:1);$page_url=$page_url?$page_url:’?’;
    if($page>5) {
    if($page>=$pagecount){if($pagecount<9) {$starti=1;}else {$starti=$pagecount-9;}$endi=$pagecount;$page=$pagecount;}
    else{if($pagecount-$page< =4){$starti=$pagecount-9;$endi=$pagecount;}else {$starti=$page-4;$endi=$page+4;}} } else {$starti=1;if($pagecount>10) {$endi=10;}else {$endi=$pagecount;}if(!$page) {$page=1;}}
    $restr=”;
    if($page!=1){if($page>5) {$restr.=’1…‘;}$restr.=’< ‘;}
    for($pi=$starti;$pi< =$endi;$pi++){ $restr.='‘.$pi.’‘;
    }
    if($pagecount-$page>4){$restr.=’…’.$pagecount.’‘;}
    if($page!=$pagecount && $page< $pagecount){$restr.='>‘;}
    echo $restr;
    }

您必须在 登录 后才能发布评论.
css.php