网站分类

站点统计

网站收藏

友情链接

图标汇集

多拉的博客

多拉与您分享欢乐~

简单的PHP分页类

<?php

class Pager{
   //生成的页码(事实上不用也行)
   var $PageNumber='';  
   //需要分类的条目总数
   var $TotalItems=0;
   //每页显示几个条目
   var $ItemsPerPage=3;  
   //总页数
   var $TotalPageNumber=0;
   //当前页码!
   var $CurrentPageNumber=1;  
   //一个页面显示几个页码
   var $Length=10;  
   //需要分页的url
   var $Url='';
   function Pager($totalItems='',$currentPageNumber='',$itemsPerPage='',$length='',$url=''){
     $this->currentPageNumber=$currentPageNumber;
     $this->totalItems=$totalItems;
     $this->itemsPerPage=$itemsPerPage;
     $this->length=$length;
     $this->url=$url;
     $this->url.=(stristr($this->url,'?')!=false)?'&':'?';  //Url里有"?"就加"&"没有就加"?"
     $this->getTotalPageNumber();
   }

   function getTotalPageNumber(){
      $this->totalPageNumber=ceil($this->totalItems/$this->itemsPerPage);
     return $this->totalPageNumber;
   }

   //SQL里 LIMIT start,length 中的起始值
   function getLimitStart(){
      $start=($this->currentPageNumber-1)*$this->itemsPerPage;
      return $start;
   }
   //SQL里 LIMIT start,length 中的length
   function getLimitItems(){
      return $this->itemsPerPage;
   }

   //主函数.中文分页
   function getPageNumber(){
      if ($this->getTotalPageNumber()>1){
        
         $pageNumber='当前第'.$this->currentPageNumber.'页/共'.$this->totalPageNumber.'页';
          //显示第一页和前一页
         if ($this->currentPageNumber>1){
    //第一页
            //First Page
            $pageNumber.="<B><A HREF=".$this->url."page=1>第一页</A> </B> ";
   //前一页
            //Previous Page
            $pageNumber.="<B><A HREF=".$this->url."page=".($this->currentPageNumber-1).">前一页 </A> </B>";
         }
         //The start number is the first number of all pages which show on the current page.
         $startNumber=intval($this->currentPageNumber/$this->length)*$this->length;
         //Prev N page
   //交界处
         if ($this->currentPageNumber>=$this->length){
            $pageNumber.="[<B><A HREF=".$this->url."page=".($startNumber-1).">".($startNumber-1)."</A></B>]...";
         }
        
         $leftPageNumber=0;
         for ($i=$startNumber;$i<=$this->totalPageNumber;$i++){
            if ($i==0)continue;
            if ($i-$startNumber<$this->length){
               if ($i==$this->currentPageNumber){
                  $pageNumber.="[<b>$i</b>]";
               }else{
                  $pageNumber.="[<A HREF=".$this->url."page=".$i.">".$i."</A>]";
               }
            }else{
               $leftPageNumber=$this->totalPageNumber-$i+1;
               break;
            }
         }
   //显示下一个分页列表
         if ($leftPageNumber>=1){
            $pageNumber.="...[<B><A HREF=".$this->url."page=".($startNumber+$this->length).">".($startNumber+$this->length)."</A></B>] ";
         }
        
         if ($this->currentPageNumber!=$this->totalPageNumber){
            //Next page
            $pageNumber.="<B><A HREF=".$this->url."page=".($this->currentPageNumber+1).">下一页 </A> </B>";
            //Last page
            $pageNumber.="<B><A HREF=".$this->url."page=".$this->totalPageNumber.">最后页</A> </B>";
         }
        
         $this->pageNumber=$pageNumber;
         return $this->pageNumber;
        
      }
           
   }
  
}
?>

改别人的..后来又改成静态分页  - -|

原作类里的SQL去掉了.

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog 1.8 Devo Build 80201

Copyright 2007-2008 duolaa.org. Some Rights Reserved.

最新评论及回复

最近引用

最近发表

日历

Search

文章归档