中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > PHP > PHP综合
类:分页
作者:未知 时间:2005-09-13 23:31 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:类:分页
<?php
  2:
#===============================================
  3: # 名    称: Page v1.1 分页
  4: # 文    件: Page.class.php
  5: # 作    者: liu21st, liu21st@126.com
  6: # 说    明: 实现分页功能
  7: # 修    改: 2003-12-23 加firstRow的溢出判断,溢出时显示最后一页
  8: #------------------------------------------------------------------------------------

9:
 10: class Page
{
 11:   var
$firstRow   = 0 ;  
// 起始行
 12:   
var $listRows   = 0 ;  
// 每页显示列表行数
 13:   
var $parameter  = "";  
// 页数跳转时要带的参数
 14:   
var $totalPages = 0 ;  
// 总页数
 15:   
var $totalRows  = 0 ;  
// 总行数
 16:   
var $nowPage    = 0 ;  
// 当前页数
 17:   
var $showPageJump = True;
// 是否显示跳到第几页
 18:   
var $coolPages  = 0 ;  
// 分页的栏的总页数
 19:   
var $rollPage   = 5;   
// 分页栏每页显示的页数
 20:
 21:   /*--------------------------------------------------------------------------
 22:    功能:显示分页信息第 x 页 共 x 页 << < 6 7 8 9 10 > >>
 23:   -----------------------------------------------------------------------------*/
 24:    
function prompt
() {
 25: if(
0 == $this->totalRows
) {
 26: return;
 27: }
 28:      
$this->totalPages=ceil($this->totalRows/$this->listRows);
//总页数
 29:
$this->coolPages = ceil($this->totalPages/$this->rollPage
);
 30: if (
$this->firstRow >= $this->totalRows ) {  
// 2003-12-30 17:18:29 kinger modified
 31:
$this->nowPage = $this->totalPages
;
 32:
$this->firstRow = ($this->totalPages-1)*$this->listRows
;
 33: } else {
 34:
$this->nowPage=floor($this->firstRow/$this->listRows+1);    
//当前页号
 35:
}
 36:
$nowCoolPage = ceil($this->nowPage/$this->rollPage
);
 37:
 38:
// << < > >>
 39:
if($nowCoolPage == 1
){
 40:
$theFirst = ""
;
 41:
$prePage = ""
;
 42: }else{
 43:
$preRow =  ($this->rollPage*($nowCoolPage-1)-1)*$this->listRows
;
 44:
$prePage = "<a href='?firstRow=$preRow&totalRows=$this->totalRows&$this->parameter'><</a>"
;
 45:
$theFirst = "<a href='?firstRow=0&totalRows=$this->totalRows&$this->parameter'><<</a>"
;
 46: }
 47: if(
$nowCoolPage == $this->coolPages
){
 48:
$nextPage = ""
;
 49:
$theEnd=""
;
 50: }else{
 51:
$nextRow = ($nowCoolPage*$this->rollPage)*$this->listRows
;
 52:
$theEndRow = ($this->totalPages-1)*$this->listRows
;
 53:
$nextPage = "<a href='?firstRow=$nextRow&totalRows=$this->totalRows&$this->parameter'>></a>"
;
 54:
$theEnd = "<a href='?firstRow=$theEndRow&totalRows=$this->totalRows&$this->parameter'>>></a>"
;
 55: }
 56:
// 1 2 3 4 5
 57:
$linkPage = ""
;
 58: for(
$i=1;$i<=$this->rollPage;$i
++){
 59:
$page=($nowCoolPage-1)*$this->rollPage+$i
;
 60:
$rows=($page-1)*$this->listRows
;
 61: if(
$page!=$this->nowPage
){
 62: if(
$page<=$this->totalPages
){
 63:
$linkPage .= " <a href='?firstRow=$rows&totalRows=$this->totalRows&$this->parameter'>".$page."</a>"
;
 64: }else{
 65: break;
 66: }
 67: }else{
 68: if(
$this->totalPages != 1
){
 69:
$linkPage .= " [<b>".$page."</b>]"
;
 70: }
 71: }
 72: }
 73:
$pageStr = "共 $this->totalPages 页  ".$theFirst." ".$prePage." ".$linkPage." ".$nextPage." ".$theEnd
;
 74: return
$pageStr
;
 75:    }
 76:   
/*-----------------------------------------------------------------------
 77:    使用举例。
 78:       --------------------------------------------------------------------
 79:   $page = new Page();
 80:   if ($totalRows){
 81:      $page->totalRows=$totalRows;
 82:    }else{
 83:                      //此处为计算查询个数,视不同的数据库方式有所不同
 84:      $page->totalRows=$db->count($db->select("user","*"););
 85:    }
 86:   $page->listRows="2";
 87:   if ($firstRow){
 88:      $page->firstRow=$firstRow;
 89:    }else{
 90:      $page->firstRow=0;   
 91:    }
 92:   $db->select("user","*","","","$page->firstRow,$page->listRows");
 93:   while($db->nextRecord()) {
 94: echo $db->record[id]." ";
 95: echo $db->record[name]." ";
 96:     echo $db->record[age]." ";
 97: echo "<br>";
 98:    }
 99:   $pager=$page->prompt();
100:   -------------------------------------------------------------------------------*/
101:
}
102:
?>

下载地址

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有