文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>类:分页

类:分页

时间:2005-04-18  来源:夏羽

2: #===============================================
  3: # 名    称: Page v1.1 分页
  4: # 文    件: Page.class.php
  5: # 作    者: liu21st, [email protected]
  6: # 说    明: 实现分页功能
  7: # 修    改: 2003-12-23 加firstRow的溢出判断,溢出时显示最后一页
  8: #------------------------------------------------------------------------------------
9:
[color="#ff9900"] 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 页  >>
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 = "totalRows&$this->parameter'>";
45: $theFirst = "totalRows&$this->parameter'>";
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 = "totalRows&$this->parameter'>>";
54: $theEnd = "totalRows&$this->parameter'>>>";
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 .= " totalRows&$this->parameter'>".$page."";
64: }else{
65: break;
66: }
67: }else{
68: if($this->totalPages != 1){
69: $linkPage .= " [".$page."]";
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 "
";
98:    }
99:   $pager=$page->prompt();
100:   -------------------------------------------------------------------------------*/
101: }
102: ?>
下载地址


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载