教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> PHP >> 不错的php分页类 RSS订阅
不错的php分页类
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   

<?php
/*
** File: class.pagenumber.php
** Class: PageNumber
** Version: none
** Created: 5/12/2004
** Author: Morgan Woo
** Email: morgan.woo@163.com
** Update:huabing lv
** Email:hb_lv@hotmail.com
**
** Copyright (c) 2004 Mr.Woo .  All rights reserved.
*/
class Pager{
   //生成的页码(事实上不用也行)
   var $pageNumber='';
   
   //需要分类的条目总数
    var $totalItems=0;
    //数据连接相关
   var $conn;
   var $sql;
   //每页显示几个条目
   var $itemsPerPage=3;
   
   //总页数
   var $totalPageNumber=0;
   //当前页码!
   var   $currentPageNumber=1;
   
   //一个页面显示几个页码
   var $length=10;
   
   
   //需要分页的url
   var $url='';
   function Pager($conn,$sql,$currentPageNumber,$itemsPerPage,$length,$url){
     $this->currentPageNumber=$currentPageNumber;
       $this->conn=$conn;
       $this->sql=$sql;
        $this->itemsPerPage=$itemsPerPage;
         $this->length=$length;
  $this->url=$url;
  $this->url.=(stristr($this->url,'?')!=false)?'&':'?';  //Url里有"?"就加"&"没有就加"?"
  $this->getTotalPageNumber();
   }
    function getTotalItems(){
     //for adodb
     $rs=$this->conn->Execute($this->sql);
     $this->totalItems=$rs->RecordCount();
     return $this->totalItems;
    }
     function getTotalPageNumber(){
      $this->totalPageNumber=ceil($this->getTotalItems()/$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 getRsPerPage(){
     $modiSQL=$this->sql." limit ".$this->getLimitStart()." ,".$this->getLimitItems();
//偶用的是adodb的说
     $modiRS=$this->conn->Execute($modiSQL);
     $arr=$modiRS->GetArray();
     return $arr;
   }

   //主函数.中文分页
   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;
         
      }
      
      
   }
   
 
//英文分页
function getPageNumber2(){
      if ($this->getTotalPageNumber()>1){
         
         $pageNumber='P'.$this->currentPageNumber.'/'.$this->totalPageNumber.'';
          //显示第一页和前一页
         if ($this->currentPageNumber>1){
    //第一页
            //First Page
            $pageNumber.="<B><A HREF=".$this->url."page=1>FIRST</A> </B> ";
   //前一页
            //Previous Page
            $pageNumber.="<B><A HREF=".$this->url."page=".($this->currentPageNumber-1).">PREV</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).">NEXT</A> </B>";
            //Last page
            $pageNumber.="<B><A HREF=".$this->url."page=".$this->totalPageNumber.">LAST</A>  </B>";
         }
         
         $this->pageNumber=$pageNumber;
         return $this->pageNumber;
         
      }
      
      
   }
   
}
//$currentPageNumber=( isset($_GET['page']) ) ? intval($_GET['page']) : 1;
//include("PAGENUMBER/class.pagenumber.php");
//$pageNumber= new PageNumber($adodbConn,$sql,$currentPageNumber,10,3,3,"test.php");
//echo $pageNumber->getPageNumber2();
//echo "<br>";
//echo $pageNumber->getPageNumber();
?>

来源:upschool.cn
作者:
关键字:不错,php分页类
发表日期:2006-10-20

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:用PHP发电子邮件   下一篇:PHP中如何使用header发送头部信息


2009-1-8 7:43:14
本文的相类似文章
  • 汽车金属漆的制作方法,非常不错的!
  • 一个不错的同间蝴蝶制作教程
  • 介绍一个下载LINUX、UNIX资料的网站,很不错
  • 几个不错的java网站
  • 2001届北京毕业生就业开局不错
  • 不错的php分页类
  • 环保创意不错 操作困难 免费骑车考验市民
  • 2001届北京毕业生就业开局不错
  • 高考成绩不错却走歪道 俩考生抢劫毁前程
  • 考试吧-环球网校办的不错 感谢
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com