<?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>";
评论加载中…
![]() |