当前位置: 首页 > 图文教程 > 网络编程 > PHP > php分页类

PHP
采用行写方式的聊天程序(之一)
采用行写方式的聊天程序(之二)
采用行写方式的聊天程序(之三)
php.net新闻拦截!
PHP的面向对象编程:开发大型PHP项目的方法(一)
PHP的面向对象编程:开发大型PHP项目的方法(二)
PHP的面向对象编程:开发大型PHP项目的方法(三)
PHP的面向对象编程:开发大型PHP项目的方法(四)
PHP的面向对象编程:开发大型PHP项目的方法(五)
用PHP发送MIME邮件(一)
用PHP发送MIME邮件(二)
用PHP发送MIME邮件(三)
用PHP发送MIME邮件(四)
用PHP发送MIME邮件(五)
用PHP发送MIME邮件(六)
一个广告轮播系统的例子(内含文件上传的方法)
PHP 留言簿(带Oracle数据库分页的显示功能)
PHP/MySQL教程 完整教程
老技术新外衣 如何设计一个包含Ajax技术的PHP网页
打造超酷的PHP数据饼图

PHP 中的 php分页类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 95 ::
收藏到网摘: n/a

<?php
//
// +----------------------------------------------------------------------+
// | 分页类                                |
// +----------------------------------------------------------------------+
// | Copyright (c) 2001 NetFish Software                 |
// |                                   |
// | Author: whxbb([email protected])                    |
// +----------------------------------------------------------------------+
//
// $Id: pager.class.php,v 0.1 2001/8/2 13:18:13 yf Exp $
//
// 禁止直接访问该页面
if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "pager.class.php") {
   header("HTTP/1.0 404 Not Found");
}
/**
* 分页类
* Purpose
* 分页
*
* @author : whxbb([email protected])
* @version : 0.1
* @date  : 2001/8/2
*/
class Pager
{
   /** 总信息数 */
   var $infoCount;
   /** 总页数 */
   var $pageCount;
   /** 每页显示条数 */
   var $items;
   /** 当前页码 */
   var $pageNo;
   /** 查询的起始位置 */
   var $startPos;
   var $nextPageNo;
   var $prevPageNo;
   
   function Pager($infoCount, $items, $pageNo)
   {
     $this->infoCount = $infoCount;
     $this->items   = $items;
     $this->pageNo  = $pageNo;
     $this->pageCount = $this->GetPageCount();
     $this->AdjustPageNo();
     $this->startPos = $this->GetStartPos();
   }
   function AdjustPageNo()
   {
     if($this->pageNo == '' || $this->pageNo < 1)
       $this->pageNo = 1;
     if ($this->pageNo > $this->pageCount)
       $this->pageNo = $this->pageCount;
   }
   /**
    * 下一页
    */
   function GoToNextPage()
   {
     $nextPageNo = $this->pageNo + 1;
     if ($nextPageNo > $this->pageCount)
     {
       $this->nextPageNo = $this->pageCount;
       return false;
     }
     $this->nextPageNo = $nextPageNo;
     return true;
   }
   /**
    * 上一页
    */
   function GotoPrevPage()
   {
     $prevPageNo = $this->pageNo - 1;
     if ($prevPageNo < 1)
     {
       $this->prevPageNo = 1;
       return false;
     }
     $this->prevPageNo = $prevPageNo;
     return true;
   }
   function GetPageCount()
   {
     return ceil($this->infoCount / $this->items);
   }
   function GetStartPos()
   {
     return ($this->pageNo - 1) * $this->items;
   }
}
?>