动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   PHP → 阅读文章

 五 分页类

作者来源: 
阅读 1384 人次 , 2006-4-18 16:43:00 


   <?php
//
// +----------------------------------------------------------------------+
// | 分页类                                                               |
// +----------------------------------------------------------------------+
// | Copyright (c) 2001 NetFish Software                                  |
// |                                                                      |
// | Author: whxbb(whxbbh@21cn.com)                                       |
// +----------------------------------------------------------------------+
//
// $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(whxbb@21cn.com)
* @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;
    }
}
?>   
 本文Tags分页  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:四 文章类 封装对文章的各种操作(插入数据库、从数据库取出等等)
· 下一篇:六 插入实例
· PHP 编码规范(10)
· 实现跨域名Cookie (转) http://www.phprecord.com
· Zend公司全球首推PHP认证
· 最省空间的计数器
· 新闻分类录入、显示系统


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077