剛寫的分頁導航,請指教

日期:2006-08-07  作者:喜騰小二  來源:PHPChina


原文:/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("",$_SERVER['PHP_SELF'
]);
for(
$i=$sp;$i<=$ep;$i++)                                                                
//列出可顯示頁
{
       if(
$p==$i)                                                                             
//當前頁加粗
       
{
                
printf(%d ",$_SERVER['PHP_SELF'],$i,$i
);
       }
       else
       {
                
printf(%d ",$_SERVER['PHP_SELF'],$i,$i
);
       }
}
printf(""
);
$st=($p-1)*$topicpage+1
;
$et=$p*$topicpage
;
if(
$p==$pagetotal && $topiclastpage)$et=$st+$topiclastpage-1
;
printf("
    主題清單

    "
    );
    for(
    $j=$st;$j<=$et;$j++)printf("
  • 第 %d 主題",$j,$j);
    printf("
");
?> 

PHP:

if($topictotal<=0)exit("獲取主題出錯或沒有任何主題!");    //無主題時 

<<<返回技術中心

技術文章

站內新聞

我要啦免费统计