php

来源:互联网 发布:防9158聊天室源码 编辑:程序博客网 时间:2024/06/07 02:38

1. [代码][PHP]代码     

001<?php
002/*
003在这个分页的类中共有三个类函数,第一个函数的作用上面说过,第二个函数caculate主要是计算记录集的总条数,分多少页显示,同时把这些结果赋值给成员变量,以供下一个函数使用这些值。第三个函数,url就是实现记录集分页显示的代码。这里说一下,分页的算法,主要是用到这一个SQL语句:select * from table_name limit $start,$pageper;其中,$start是查询的起始位置,$pageper是每一页要显示的条数。
004*/
005 
006include_once("db.inc.php");
007 
008class FENYE  extends DBSQL{
009 
010        public $count_1;                               //返回结果记录集的总条数
011 
012        private $pageper=3;                           //每页显示的记录集条数
013 
014        public $pc;                                      //显示的总页数
015 
016        private $sql="select * from students";
017 
018         public $offset;                                        //当前的页码数
019 
020     public function __constract(){
021 
022        parent::__constract();    //调用父类里的方法链接数据库
023 
024     }
025 
026     public function caculate($sql=""){
027 
028       $sql=$this->sql;
029 
030       $result=mysql_query($sqlor die (mysql_error());
031 
032       $count=mysql_num_rows($result);
033 
034       $this->count_1=$count;
035 
036       $pc=intval($count/$this->pageper)+1;
037 
038       $this->pc=$pc;
039 
040     }
041 
042     public function url($targetUrl){
043 
044         $pagesize=$this->pageper ; //每页显示记录
045 
046         $page=isset($_GET['page'])?intval($_GET['page']):1;//获取当前页
047 
048         $sql="select * from students limit ".($page-1)*$pagesize.",$pagesize";
049 
050         //echo $sql ;exit;
051 
052         $results=mysql_query($sqlor die (mysql_error());
053 
054         while ($row = mysql_fetch_array($results)){
055 
056        for($i=0;$i<count($row);$i++)
057 
058        echo $row[$i]."&nbsp;&nbsp;&nbsp;&nbsp;";
059 
060        echo "<br>";
061 
062     }
063 
064       $offset=($page-1)*$pagesize;
065 
066       $prepage=$page-1; //上一页
067 
068       $nextpage=$page+1; //下一页
069 
070       $pagenav="共".$this->count_1." 条记录每页显示$pagesize 条记录,共".$this->pc." 页,当前第$page 页";
071 
072       if($page==1){
073 
074       $strpage="【第一页】【上一页】<a href='$targetUrl?page=$nextpage'>【下一页】</a><a href='$targetUrl?page=$pc'>【最后一页】</a>";
075 
076    }
077 
078      if($page>1&&$page<=$this->pc){
079 
080      $strpage="<a href='$targetUrl?page=1'>【第一页】</a><a href='$targetUrl?page=$prepage'>【上一页】</a><a href='$targetUrl?page=$nextpage'>【下一页】</a><a href='$targetUrl?page=$pc'>【最后一页】</a>";
081 
082    }
083 
084     if($page==$this->pc){
085 
086     $strpage="<a href='$targetUrl?page=1'>【第一页】</a><a href='$targetUrl?page=$prepage'>【上一页】</a>【下一页】【最后一页】";
087 
088}
089 
090     $strpage="$pagenav<br>$strpage";
091 
092    echo $strpage;
093 
094     }
095 
096}
097 
098 
099/*
100小函数注解:
101 
102                  intval:   取得整数值;
103 
104                  count:  计算一个数组的元素个数;
105 
106                  expression_1?expression_2:expression_3;:如果第一个表达式为值,该函数的返回值就是第二个表达式的值,否则函数的返回值为第三个表达式的值。
107 
108                  为了程序的代码的安全起见,可是把类的成员变量的类型设置为private。*/
109?>

原创粉丝点击