您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關利用php怎么封裝一個顯示頁碼分頁類,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、代碼
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{//創建Page類并繼承Mysql類 private $pagesize;//每頁顯示的記錄數 private $page;//當前是第幾頁 private $pages;//總頁數 private $total;//查詢的總記錄數 private $pagelen;//顯示的頁碼數 private $pageoffset;//頁碼的偏移量 private $table;//欲查詢的表名 function __construct($pagesize,$pagelen,$table){ if($_GET['page']=="" || $_GET['page']<0){//判斷地址欄參數page是否有值 $this->page=1;//當前頁定義為1 }else{ $this->page=$_GET['page'];//當前頁為地址欄參數的值 } $this->pagesize=$pagesize; $this->pagelen=$pagelen; $this->table=$table; new Mysql();//實例化Mysql類 $sql=mysql_query("select * from $this->table");//查詢表中的記錄 $this->total=mysql_num_rows($sql);//獲得查詢的總記錄數 $this->pages=ceil($this->total/$this->pagesize);//計算總頁數 $this->pageoffset=($this->pagelen-1)/2;//計算頁碼偏移量 } function sel(){ $sql=mysql_query("select * from $this->table limit ".($this->page-1)*$this->pagesize.",".$this->pagesize);//查詢當前頁顯示的記錄 return $sql;//返回查詢結果 } function myPage(){ $message="第".$this->page."頁/共".$this->pages."頁 ";//輸出當前第幾頁,共幾頁 if($this->page==1){//如果當前頁是1 $message.="首頁 上一頁 ";//輸出沒有鏈接的文字 }else{ $message.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首頁</a> ";//輸出有鏈接的文字 $message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一頁</a> ";//輸出有鏈接的文字 } if($this->page<=$this->pageoffset){//如果當前頁小于頁碼的偏移量 $minpage=1;//顯示的最小頁數為1 $maxpage=$this->pagelen;//顯示的最大頁數為頁碼的值 }elseif($this->page>$this->pages-$this->pageoffset){//如果當前頁大于總頁數減去頁碼的偏移量 $minpage=$this->pages-$this->pagelen+1;//顯示的最小頁數為總頁數減去頁碼數再加上1 $maxpage=$this->pages;//顯示的最大頁數為總頁數 }else{ $minpage=$this->page-$this->pageoffset;//顯示的最小頁數為當前頁數減去頁碼的偏移量 $maxpage=$this->page+$this->pageoffset;//顯示的最大頁數為當前頁數加上頁碼的偏移量 } for($i=$minpage;$i<=$maxpage;$i++){//循環輸出數字頁碼數 if($i==$this->page){ $message.=$i."\n";//輸出沒有鏈接的數字 }else{ $message.="<a id='num' href='".$_SERVER['PHP_SELF']."?page=".$i."'>".$i."</a>\n";//輸出有鏈接的數字 } } if($this->page==$this->pages){//如果當前頁等于最大頁數 $message.=" 下一頁 尾頁";//顯示沒有鏈接的文字 }else{ $message.=" <a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一頁</a> ";//顯示有鏈接的文字 $message.="<a href='".$_SERVER['PHP_SELF']."?page=".$this->pages."'>尾頁</a>";//顯示有鏈接的文字 } return $message;//返回變量的值 } } ?> <table border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FF0000"> <tr> <td bgcolor="#FFFFFF">ID:</td> <td bgcolor="#FFFFFF">標題</td> <td bgcolor="#FFFFFF">內容</td> <td bgcolor="#FFFFFF">時間</td> </tr> <?php $p=new Page('3','3','tb_demo01'); $rs=$p->sel(); while($rst=mysql_fetch_row($rs)){ ?> <tr> <td bgcolor="#FFFFFF"><?php echo $rst[0] ?></td> <td bgcolor="#FFFFFF"><?php echo $rst[1] ?></td> <td bgcolor="#FFFFFF"><?php echo $rst[2] ?></td> <td bgcolor="#FFFFFF"><?php echo $rst[3] ?></td> </tr> <?php }?> </table> <?php echo $p->myPage(); ?>
二、運行結果
看完上述內容,你們對利用php怎么封裝一個顯示頁碼分頁類有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。