php分頁類代碼帶分頁樣式效果(轉)


php分頁類代碼,有漂亮的分頁樣式風格

時間:2016-03-16 09:16:03來源:網絡
導讀:不錯的php分頁類代碼,將類文件與分頁樣式嵌入,實現php查詢結果的精美分頁,對研究php分頁原理很有幫助。
 
php分頁類代碼

一個功能齊全的php分頁類,更改CSS樣式文件控制分頁效果。

1、在head中包含pager.css
 

<link href="pager.css" type="text/css" rel="stylesheet" />

2,在分頁處進行類的實例化:
 

復制代碼代碼示例:
<?php 
include "pager.class.php"; 
$CurrentPage=isset($_GET['page'])?$_GET['page']:1; 
//die($CurrentPage); 
$myPage=new pager(1300,intval($CurrentPage)); 
$pageStr= $myPage->GetPagerContent(); 
//echo $pageStr; 
$myPage=new pager(90,intval($CurrentPage)); 
$pageStr= $myPage->GetPagerContent(); 
echo $pageStr; 
?>

3,讀取mysql數據庫和分頁計算文件

例如:
$info=mysql_query("select * from member order by id desc limit $offset,$info_num"); 
調用到mysql數據庫和當前頁碼等。

一共包含的三個文件:
1)、index.php:調用分頁類,顯示分頁 
2)、pager.class.php:php分頁類 
3)、pager.css:css樣式美化文件

1) index.php:
 

復制代碼代碼示例:
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>php分頁演示-www.jbxue.com</title> 
<link href="pager.css" type="text/css" rel="stylesheet" /> 
</head> 
<body> 
<?php 
include "pager.class.php"; 
$CurrentPage=isset($_GET['page'])?$_GET['page']:1; 
//die($CurrentPage); 
$myPage=new pager(1300,intval($CurrentPage)); 
$pageStr= $myPage->GetPagerContent(); 
//echo $pageStr; 
$myPage=new pager(90,intval($CurrentPage)); 
$pageStr= $myPage->GetPagerContent(); 
echo $pageStr; 
?> 
</body> 
</html>

2) pager.class.php:
 

復制代碼代碼示例:

<?php 
/* 
PHP分頁類 
* @package Page 
* @Created 2013-03-27 
* @Modify 2013-03-27 
* Example: 
$myPage=new Pager(1300,intval($CurrentPage)); 
$pageStr= $myPage->GetPagerContent(); 
echo $pageStr; 
*/  www.xfcodes.com
class Pager { 
private $pageSize = 10; 
private $pageIndex; 
private $totalNum;

private $totalPagesCount;

private $pageUrl; 
private static $_instance;

public function __construct($p_totalNum, $p_pageIndex, $p_pageSize = 10,$p_initNum=3,$p_initMaxNum=5) { 
if (! isset ( $p_totalNum ) || !isset($p_pageIndex)) { 
die ( "pager initial error" ); 
}

$this->totalNum = $p_totalNum; 
$this->pageIndex = $p_pageIndex; 
$this->pageSize = $p_pageSize; 
$this->initNum=$p_initNum; 
$this->initMaxNum=$p_initMaxNum; 
$this->totalPagesCount= ceil($p_totalNum / $p_pageSize); 
$this->pageUrl=$this->_getPageUrl();

$this->_initPagerLegal(); 
}

/** 
* 獲取去除page部分的當前URL字符串 

* @return String URL字符串 
*/ 
private function _getPageUrl() { 
$CurrentUrl = $_SERVER["REQUEST_URI"]; 
$arrUrl = parse_url($CurrentUrl); 
$urlQuery = $arrUrl["query"];

if($urlQuery){ 
$urlQuery = ereg_replace("(^|&)page=" . $this->pageIndex, "", $urlQuery); 
$CurrentUrl = str_replace($arrUrl["query"], $urlQuery, $CurrentUrl);

if($urlQuery){ 
$CurrentUrl.="&page"; 

else $CurrentUrl.="page";

} else { 
$CurrentUrl.="?page"; 
}

return $CurrentUrl;

} /* 
*設置頁面參數合法性 
*@return void 
*/ www.xfcodes.com
private function _initPagerLegal() 

if((!is_numeric($this->pageIndex)) || $this->pageIndex<1) 

$this->pageIndex=1; 
}elseif($this->pageIndex > $this->totalPagesCount) 

$this->pageIndex=$this->totalPagesCount; 
}


//$this->pageUrl}={$i} 
//{$this->CurrentUrl}={$this->TotalPages} 
public function GetPagerContent() { 
$str = "<div class="Pagination">"; 
//首頁 上一頁 
if($this->pageIndex==1) 

$str .="<a href='javascript:void(0)' class='tips' title='首頁'>首頁</a> "."n"; 
$str .="<a href='javascript:void(0)' class='tips' title='上一頁'>上一頁</a> "."n"."n"; 
}else 

$str .="<a href='{$this->pageUrl}=1' class='tips' title='首頁'>首頁</a> "."n"; 
$str .="<a href='{$this->pageUrl}=".($this->pageIndex-1)."' class='tips' title='上一頁'>上一頁</a> "."n"."n"; 

/*

除首末后 頁面分頁邏輯 
*/ 
//10頁(含)以下 
$currnt=""; 
if($this->totalPagesCount<=10) 
{

for($i=1;$i<=$this->totalPagesCount;$i++)


if($i==$this->pageIndex) 
{ $currnt=" class='current'";} 
else 
{ $currnt=""; } 
$str .="<a href='{$this->pageUrl}={$i} ' {$currnt}>$i</a>"."n" ; 

}else //10頁以上 
{ if($this->pageIndex<3) //當前頁小於3 

for($i=1;$i<=3;$i++) 

if($i==$this->pageIndex) 
{ $currnt=" class='current'";} 
else 
{ $currnt=""; } 
$str .="<a href='{$this->pageUrl}={$i} ' {$currnt}>$i</a>"."n" ; 
}

$str.="<span class="dot">……</span>"."n";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1 

$str .="<a href='{$this->pageUrl}={$i}' >$i</a>"."n" ;


}elseif($this->pageIndex<=5) // 5 >= 當前頁 >= 3 

for($i=1;$i<=($this->pageIndex+1);$i++) 

if($i==$this->pageIndex) 
{ $currnt=" class='current'";} 
else 
{ $currnt=""; } 
$str .="<a href='{$this->pageUrl}={$i} ' {$currnt}>$i</a>"."n" ;


$str.="<span class="dot">……</span>"."n";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1 

$str .="<a href='{$this->pageUrl}={$i}' >$i</a>"."n" ; 
}

}elseif(5<$this->pageIndex && $this->pageIndex<=$this->totalPagesCount-5 ) //當前頁大於5,同時小於總頁數-5

{

for($i=1;$i<=3;$i++) 

$str .="<a href='{$this->pageUrl}={$i}' >$i</a>"."n" ; 

$str.="<span class="dot">……</span>"; 
for($i=$this->pageIndex-1 ;$i<=$this->pageIndex+1 && $i<=$this->totalPagesCount-5+1;$i++) 

if($i==$this->pageIndex) 
{ $currnt=" class='current'";} 
else 
{ $currnt=""; } 
$str .="<a href='{$this->pageUrl}={$i} ' {$currnt}>$i</a>"."n" ; 

$str.="<span class="dot">……</span>";

for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++) 

$str .="<a href='{$this->pageUrl}={$i}' >$i</a>"."n" ;


}else 
{

for($i=1;$i<=3;$i++) 

$str .="<a href='{$this->pageUrl}={$i}' >$i</a>"."n" ; 

$str.="<span class="dot">……</span>"."n";

for($i=$this->totalPagesCount-5;$i<=$this->totalPagesCount;$i++)//功能1 

if($i==$this->pageIndex) 
{ $currnt=" class='current'";} 
else 
{ $currnt=""; } 
$str .="<a href='{$this->pageUrl}={$i} ' {$currnt}>$i</a>"."n" ;



}

/* 
除首末后 頁面分頁邏輯結束 
*/ 
//下一頁 末頁 
if($this->pageIndex==$this->totalPagesCount) 

$str .="n"."<a href='javascript:void(0)' class='tips' title='下一頁'>下一頁</a>"."n" ; 
$str .="<a href='javascript:void(0)' class='tips' title='末頁'>末頁</a>"."n";


}else 

$str .="n"."<a href='{$this->pageUrl}=".($this->pageIndex+1)."' class='tips' title='下一頁'>下一頁</a> "."n"; 
$str .="<a href='{$this->pageUrl}={$this->totalPagesCount}' class='tips' title='末頁'>末頁</a> "."n" ; 
}

$str .= "</div>"; 
return $str; 
}

/** 
* 獲得實例 
* @return 
*/ 
// static public function getInstance() { 
// if (is_null ( self::$_instance )) { 
// self::$_instance = new pager (); 
// } 
// return self::$_instance; 
// }



?>

3),php分頁樣式文件 pager.css:
 

復制代碼代碼示例:

body,html{ padding:0px; margin:0px; color:#333333; font-family:"宋體",Arial,Lucida,Verdana,Helvetica,sans-serif; font-size:12px; line-height:150%;} 
h1,h2,h3,h4,h5,h6,ul,li,dl,dt,dd,form,img,p,label{margin:0; padding:0; border:none; list-style-type:none;}

/**前台分頁樣式**/ 
.Pagination {margin:10px 0 0;padding:5px 0;text-align:rightright; height:20px; line-height:20px; font-family:Arial, Helvetica, sans-serif,"宋體";} 
.Pagination a {margin-left:2px;padding:2px 7px 2px;} 
.Pagination .dot{ border:medium none; padding:4px 8px} 
.Pagination a:link, .Pagination a:visited {border:1px solid #dedede;color:#696969;text-decoration:none;} 
.Pagination a:hover, .Pagination a:active, .Pagination a.current:link, .Pagination a.current:visited {border:1px solid #dedede;color:#fff; background-image:none; border:#ff6600 solid 1px;} 
.Pagination .selectBar{ border:#dedede solid 1px; font-size:12px; width:95px; height:21px; line-height:21px; margin-left:10px; display:inline} 
.Pagination a.tips{_padding:4px 7px 1px;}

  相關文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM