剛學(xué)PHP,寫(xiě)的不好,請(qǐng)大家別笑,用Mysql數(shù)據(jù)庫(kù),我還不知道在類(lèi)中怎么捕捉錯(cuò)誤,然后返回。
代碼如下:
- <?php
- class Pageslice{
- var $pageSize;//每頁(yè)顯示數(shù)據(jù)條數(shù)
- var $page;//當(dāng)前頁(yè)面
- var $totalPages;//總頁(yè)數(shù)
- var $startNum;//strat
- var $dbtable;//要查詢(xún)的數(shù)據(jù)表
- var $rs;//記錄集
- function setUnit($n){//設(shè)置每頁(yè)顯示數(shù)據(jù)條數(shù)
- $this->pageSize=$n;
- $this->getTotalPages();
- $this->getPage();
- }
- function bindTable($tb){//綁定表
- $this->dbtable = $tb;
- $this->setUnit(5);//默認(rèn)顯示5條記錄
- }
- function getTotalPages(){//取得總頁(yè)數(shù)
- $tb =$this->dbtable;
- $sqlStr = "select * from ".$tb;
- $rsStr = mysql_query($sqlStr);
- $this->totalPages = ceil(count(mysql_fetch_row($rsStr))/$this->pageSize);
- return $this->totalPages;
- }
- function getPage(){//得到當(dāng)前頁(yè)碼
- if( $_GET['page'] == NULL || abs($_GET['page']) >$this->totalPages ){
- $this->page = 1;
- }else{
- $this->page =$_GET['page'];
- }
- return $this->page;
- }
- function getRS(){//取記錄集
- $this->startNum = ($this->page-1)*$this->pageSize;
- $tb = $this->dbtable;
- $rs_sql = "select * from ".$tb." order by id DESC limit ". $this->startNum.",".$this->pageSize;
- $this->rs = mysql_query($rs_sql);
- return $this->rs;
- }
- function showFlip(){//顯示分頁(yè)控件
- $page_string =" 總共".$this->totalPages."頁(yè),當(dāng)前第".$this->page."頁(yè) ";
- if( $this->page == 1 ){
- $page_string.="第一頁(yè)|上一頁(yè)|";
- }else{
- $page_string.= "<a href=?page=1>第一頁(yè)</a>|<a href=?page=".($this->page-1).">上一頁(yè)</a>|";
- }
- if( ($this->page == $this->totalPages) || ($this->totalPages == 0) ){
- $page_string.=" 下一頁(yè)|尾頁(yè)";
- }else{
- $page_string.= "<a href=?page=".($this->page+1).">下一頁(yè)</a>|<a href=?page=".$this->totalPages.">尾頁(yè)</a>";
- }
- print $page_string;
- }
- }
- ?>[/php]
- 應(yīng)用,假設(shè)已經(jīng)建立了test表,并且已經(jīng)連上
- [php]$pages = new Pageslice;//建立分頁(yè)對(duì)象
- $pages->bindTable('test');//讀取test表
- //$pages->setUnit(3);//可以重新設(shè)置顯示條數(shù)
- $rs = $pages->getRS();
- /*
- .........其他代碼
- */
- $pages->showFlip()
- //然后在需要顯示分頁(yè)的地方調(diào)用分頁(yè)
新聞熱點(diǎn)
疑難解答