php顯示頁碼分頁類的封裝
更新時間:2017年06月08日 10:08:35 作者:cakin24
這篇文章主要為大家詳細介紹了php封裝一個顯示頁碼的分頁類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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{//創(chuàng)建Page類并繼承Mysql類
private $pagesize;//每頁顯示的記錄數(shù)
private $page;//當前是第幾頁
private $pages;//總頁數(shù)
private $total;//查詢的總記錄數(shù)
private $pagelen;//顯示的頁碼數(shù)
private $pageoffset;//頁碼的偏移量
private $table;//欲查詢的表名
function __construct($pagesize,$pagelen,$table){
if($_GET['page']=="" || $_GET['page']<0){//判斷地址欄參數(shù)page是否有值
$this->page=1;//當前頁定義為1
}else{
$this->page=$_GET['page'];//當前頁為地址欄參數(shù)的值
}
$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);//獲得查詢的總記錄數(shù)
$this->pages=ceil($this->total/$this->pagesize);//計算總頁數(shù)
$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;//顯示的最小頁數(shù)為1
$maxpage=$this->pagelen;//顯示的最大頁數(shù)為頁碼的值
}elseif($this->page>$this->pages-$this->pageoffset){//如果當前頁大于總頁數(shù)減去頁碼的偏移量
$minpage=$this->pages-$this->pagelen+1;//顯示的最小頁數(shù)為總頁數(shù)減去頁碼數(shù)再加上1
$maxpage=$this->pages;//顯示的最大頁數(shù)為總頁數(shù)
}else{
$minpage=$this->page-$this->pageoffset;//顯示的最小頁數(shù)為當前頁數(shù)減去頁碼的偏移量
$maxpage=$this->page+$this->pageoffset;//顯示的最大頁數(shù)為當前頁數(shù)加上頁碼的偏移量
}
for($i=$minpage;$i<=$maxpage;$i++){//循環(huán)輸出數(shù)字頁碼數(shù)
if($i==$this->page){
$message.=$i."\n";//輸出沒有鏈接的數(shù)字
}else{
$message.="<a id='num' href='".$_SERVER['PHP_SELF']."?page=".$i."'>".$i."</a>\n";//輸出有鏈接的數(shù)字
}
}
if($this->page==$this->pages){//如果當前頁等于最大頁數(shù)
$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 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">標題</td>
<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">內容</td>
<td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">時間</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();
?>
二、運行結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
PHP is_array() 檢測變量是否是數(shù)組的實現(xiàn)方法
下面小編就為大家?guī)硪黄狿HP is_array() 檢測變量是否是數(shù)組的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考,一起跟隨小編過來看看吧2016-06-06
Laravel框架實現(xiàn)定時發(fā)布任務的方法
這篇文章主要介紹了Laravel框架實現(xiàn)定時發(fā)布任務的方法,結合實例形式分析了使用Linux的cronTab功能實現(xiàn)定時發(fā)布任務的相關設置與操作技巧,需要的朋友可以參考下2018-08-08
php curl請求接口并獲取數(shù)據(jù)的示例代碼
本篇文章主要介紹了php curl請求接口并獲取數(shù)據(jù)的示例代碼,非常具有實用價值,需要的朋友可以參考下2017-08-08
thinkphp ajaxfileupload實現(xiàn)異步上傳圖片的示例
本篇文章主要介紹了thinkphp ajaxfileupload實現(xiàn)異步上傳圖片的示例,具有一定的參考價值,有興趣的可以了解一下2017-08-08
PHP+FFMPEG實現(xiàn)將視頻自動轉碼成H264標準Mp4文件
最近做一個在線教學網(wǎng)的項目,需要實現(xiàn)上傳任意格式視頻自動為h264標準視頻,使用html5播放。最終使用PHP+FFMPEG實現(xiàn),在此將詳細解決方案分享給大家!2014-09-09

