当前位置:首页 - PHP代码 - 正文
刚写的分页导航,请指教
发布时间: 2006-8-07 10:01  作者: 七月十五   信息来源:

原文:/bbs/viewthread.php?tid=7948&extra=page%3D1

刚写的分页导航,请指教,还有什么不妥的地方

加一句



PHP:

<?php
//定义相关数据
$topictotal=261;                
//总主题数
$pagepre=3;                       
//前导页
$pageline=7;                     
//可显示页数
$topicpage=15;                 
//每页主题数

if($topictotal<=0)exit("获取主题出错或没有任何主题!");    
//无主题时

//求得相关的数据
$pagetotal=ceil($topictotal/$topicpage);               
//总页数
$topiclastpage=$topictotal%$topicpage;                   
//最后页主题数

//当前页不在范围
if($p<|| $p>$pagetotal)$p=1;               
//重置当前页为1

if($pagetotal<=$pageline)                     
//总页不足可显示页数
{
        
$sp=1
;
        
$ep=$pagetotal
;
}
else                                                      
//总页足量
{
        if(
$p<=$pagepre)           
//在最前几页
        
{
                
$sp=1
;
                
$ep=$pageline
;
        }
        elseif(
$p>$pagetotal+$pagepre-$pageline)     
//在最后几页
        
{
                
$sp=$pagetotal-$pageline+1
;
                
$ep=$pagetotal
;
        }
        else                                                                
//正常情况
        
{
                
$sp=$p-$pagepre+1
;
                
$ep=$p-$pagepre+$pageline
;
        }

}

echo 
"当前页/总页:".$p."/".$pagetotal
;

printf("<form action='%s' method='post' >",$_SERVER['PHP_SELF'
]);
for(
$i=$sp;$i<=$ep;$i++)                                                                
//列出可显示页
{
       if(
$p==$i)                                                                             
//当前页加粗
       
{
                
printf(" <b><a href='%s?p=%d'>%d</a></b> ",$_SERVER['PHP_SELF'],$i,$i
);
       }
       else
       {
                
printf(" <a href='%s?p=%d'>%d</a> ",$_SERVER['PHP_SELF'],$i,$i
);
       }
}
printf("<input type=text size=2 name=p></form>"
);

$st=($p-1)*$topicpage+1
;
$et=$p*$topicpage
;

if(
$p==$pagetotal && $topiclastpage)$et=$st+$topiclastpage-1
;

printf("<br><ul><b>主题列表</b><br><br>"
);
for(
$j=$st;$j<=$et;$j++)printf("<li><a href=javascript:alert('第%d主题')>第 %d 主题</a>",$j,$j
);
printf("</ul>"
);

?> 


PHP:

if($topictotal<=0)exit("获取主题出错或没有任何主题!");    //无主题时 


查看评论>> 发表评论
评分:
内容:
验证: