<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_15044"> 在这个程序中,新类FENYE继承了类DBSQL,所以在新类的析构函数中,调用了父类的析构函数来链接数据库,同时包含了全局变量定义的文件config.inc.php。 <div class="blockcode"> <div id="code_T93"><ol> <li> <?php <li>/*</li> <li>在这个分页的类中共有三个类函数,第一个函数的作用上面说过,第二个函数caculate主要是计算记录集的总条数,分多少页显示,同时把这些结果赋值给成员变量,以供下一个函数使用这些值。第三个函数,url就是实现记录集分页显示的代码。这里说一下,分页的算法,主要是用到这一个SQL语句:select * from table_name limit $start,$pageper;其中,$start是查询的起始位置,$pageper是每一页要显示的条数。</li> <li>*/</li> <li> <li>include_once("db.inc.php");</li> <li> <li>class FENYE extends DBSQL{</li> <li> <li> public $count_1; //返回结果记录集的总条数</li> <li> <li> private $pageper=3; //每页显示的记录集条数</li> <li> <li> public $pc; //显示的总页数</li> <li> <li> private $sql="select * from students";</li> <li> <li> public $offset; //当前的页码数</li> <li> <li> public function __constract(){</li> <li> <li> parent::__constract(); //调用父类里的方法链接数据库</li> <li> <li> }</li> <li> <li> public function caculate($sql=""){</li> <li> <li> $sql=$this->sql;</li> <li> <li> $result=mysql_query($sql) or die (mysql_error());</li> <li> <li> $count=mysql_num_rows($result);</li> <li> <li> $this->count_1=$count;</li> <li> <li> $pc=intval($count/$this->pageper)+1;</li> <li> <li> $this->pc=$pc;</li> <li> <li> }</li> <li> <li> public function url($targetUrl){</li> <li> <li> $pagesize=$this->pageper ; //每页显示记录</li> <li> <li> $page=isset($_GET['page'])?intval($_GET['page']):1;//获取当前页</li> <li> <li> $sql="select * from students limit ".($page-1)*$pagesize.",$pagesize";</li> <li> <li> //echo $sql ;exit;</li> <li> <li> $results=mysql_query($sql) or die (mysql_error());</li> <li> <li> while ($row = mysql_fetch_array($results)){</li> <li> <li> for($i=0;$i<count><li> echo $row[$i]." ";</li> <li> <li> echo "<br>";</li> <li> <li> }</li> <li> <li> $offset=($page-1)*$pagesize;</li> <li> <li> $prepage=$page-1; //上一页</li> <li> <li> $nextpage=$page+1; //下一页</li> <li> <li> $pagenav="共".$this->count_1." 条记录每页显示$pagesize 条记录,共".$this->pc." 页,当前第$page 页";</li> <li> <li> if($page==1){</li> <li> <li> $strpage="【第一页】【上一页】<a href="%24targetUrl?page=%24nextpage">【下一页】</a><a href="%24targetUrl?page=%24pc">【最后一页】</a>";</li> <li> <li> }</li> <li> <li> if($page>1&&$pagepc){</li> <li> <li> $strpage="<a href="%24targetUrl?page=1">【第一页】</a><a href="%24targetUrl?page=%24prepage">【上一页】</a><a href="%24targetUrl?page=%24nextpage">【下一页】</a><a href="%24targetUrl?page=%24pc">【最后一页】</a>";</li> <li> <li> }</li> <li> <li> if($page==$this->pc){</li> <li> <li> $strpage="<a href="%24targetUrl?page=1">【第一页】</a><a href="%24targetUrl?page=%24prepage">【上一页】</a>【下一页】【最后一页】";</li> <li> <li>}</li> <li> <li> $strpage="$pagenav<br>$strpage";</li> <li> <li> echo $strpage;</li> <li> <li> }</li> <li> <li>}</li> <li> <li> <li>/*</li> <li>小函数注解:</li> <li> <li> intval: 取得整数值;</li> <li> <li> count: 计算一个数组的元素个数;</li> <li> <li> expression_1?expression_2:expression_3;:如果第一个表达式为值,该函数的返回值就是第二个表达式的值,否则函数的返回值为第三个表达式的值。</li> <li> <li> 为了程序的代码的安全起见,可是把类的成员变量的类型设置为private。*/</li> <li>?></li></count> </li> </ol></div> <em onclick="copycode($('code_T93'));">复制代码</em> </div> </td></tr></table> <div id="comment_15044" class="cm"> </div> <div id="post_rate_div_15044"></div> <br><br>