本文實(shí)例為大家分享了php封裝顯示頁(yè)碼的分頁(yè)類,供大家參考,具體內(nèi)容如下
一、代碼
conn.php
<?php class Mysql{ public function __construct(){ $this->connect(); } public function connect(){ $conn=mysql_pconnect('localhost','root','root') or die("Connect MySQL False"); mysql_select_db('db_database20',$conn) or die("Connect DB False"); mysql_query("SET NAMES utf8"); } } ?>
index.php
<link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" > <?php include_once("conn.php");//包含conn.php文件 class Page extends Mysql{//創(chuàng)建Page類并繼承Mysql類 private $pagesize;//每頁(yè)顯示的記錄數(shù) private $page;//當(dāng)前是第幾頁(yè) private $pages;//總頁(yè)數(shù) private $total;//查詢的總記錄數(shù) private $pagelen;//顯示的頁(yè)碼數(shù) private $pageoffset;//頁(yè)碼的偏移量 private $table;//欲查詢的表名 function __construct($pagesize,$pagelen,$table){ if($_GET['page']=="" || $_GET['page']<0){//判斷地址欄參數(shù)page是否有值 $this->page=1;//當(dāng)前頁(yè)定義為1 }else{ $this->page=$_GET['page'];//當(dāng)前頁(yè)為地址欄參數(shù)的值 } $this->pagesize=$pagesize; $this->pagelen=$pagelen; $this->table=$table; new Mysql();//實(shí)例化Mysql類 $sql=mysql_query("select * from $this->table");//查詢表中的記錄 $this->total=mysql_num_rows($sql);//獲得查詢的總記錄數(shù) $this->pages=ceil($this->total/$this->pagesize);//計(jì)算總頁(yè)數(shù) $this->pageoffset=($this->pagelen-1)/2;//計(jì)算頁(yè)碼偏移量 } function sel(){ $sql=mysql_query("select * from $this->table limit ".($this->page-1)*$this->pagesize.",".$this->pagesize);//查詢當(dāng)前頁(yè)顯示的記錄 return $sql;//返回查詢結(jié)果 } function myPage(){ $message="第".$this->page."頁(yè)/共".$this->pages."頁(yè) ";//輸出當(dāng)前第幾頁(yè),共幾頁(yè) if($this->page==1){//如果當(dāng)前頁(yè)是1 $message.="首頁(yè) 上一頁(yè) ";//輸出沒(méi)有鏈接的文字 }else{ $message.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首頁(yè)</a> ";//輸出有鏈接的文字 $message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一頁(yè)</a> ";//輸出有鏈接的文字 } if($this->page<=$this->pageoffset){//如果當(dāng)前頁(yè)小于頁(yè)碼的偏移量 $minpage=1;//顯示的最小頁(yè)數(shù)為1 $maxpage=$this->pagelen;//顯示的最大頁(yè)數(shù)為頁(yè)碼的值 }elseif($this->page>$this->pages-$this->pageoffset){//如果當(dāng)前頁(yè)大于總頁(yè)數(shù)減去頁(yè)碼的偏移量 $minpage=$this->pages-$this->pagelen+1;//顯示的最小頁(yè)數(shù)為總頁(yè)數(shù)減去頁(yè)碼數(shù)再加上1 $maxpage=$this->pages;//顯示的最大頁(yè)數(shù)為總頁(yè)數(shù) }else{ $minpage=$this->page-$this->pageoffset;//顯示的最小頁(yè)數(shù)為當(dāng)前頁(yè)數(shù)減去頁(yè)碼的偏移量 $maxpage=$this->page+$this->pageoffset;//顯示的最大頁(yè)數(shù)為當(dāng)前頁(yè)數(shù)加上頁(yè)碼的偏移量 } for($i=$minpage;$i<=$maxpage;$i++){//循環(huán)輸出數(shù)字頁(yè)碼數(shù) if($i==$this->page){ $message.=$i."\n";//輸出沒(méi)有鏈接的數(shù)字 }else{ $message.="<a id='num' href='".$_SERVER['PHP_SELF']."?page=".$i."'>".$i."</a>\n";//輸出有鏈接的數(shù)字 } } if($this->page==$this->pages){//如果當(dāng)前頁(yè)等于最大頁(yè)數(shù) $message.=" 下一頁(yè) 尾頁(yè)";//顯示沒(méi)有鏈接的文字 }else{ $message.=" <a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一頁(yè)</a> ";//顯示有鏈接的文字 $message.="<a href='".$_SERVER['PHP_SELF']."?page=".$this->pages."'>尾頁(yè)</a>";//顯示有鏈接的文字 } return $message;//返回變量的值 } } ?> <table border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FF0000"> <tr> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">ID:</td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">標(biāo)題</td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">內(nèi)容</td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">時(shí)間</td> </tr> <?php $p=new Page('3','3','tb_demo01'); $rs=$p->sel(); while($rst=mysql_fetch_row($rs)){ ?> <tr> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[0] ?></td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[1] ?></td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[2] ?></td> <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[3] ?></td> </tr> <?php }?> </table> <?php echo $p->myPage(); ?>
二、運(yùn)行結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。