- 相關(guān)推薦
php分頁(yè)類(lèi)代碼
這是一款簡(jiǎn)單,方便,功能齊全的分頁(yè)類(lèi),可以根據(jù)自己的需要更改CSS樣式文件以實(shí)現(xiàn)分頁(yè)顏色的控制,利用php分頁(yè)類(lèi),可以省去自己很多時(shí)間,只需要在分頁(yè)的地方嵌入即可,下面看下使用方法:
1,在head里包含pager.css
復(fù)制代碼 代碼如下:
<link href="pager.css" type="text/css" rel="stylesheet" />
2,在分頁(yè)處進(jìn)行類(lèi)的實(shí)例化:
復(fù)制代碼 代碼如下:
<?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數(shù)據(jù)庫(kù)和分頁(yè)計(jì)算文件需要自己寫(xiě)出來(lái)。例如:
$info=mysql_query("select * from member order by id desc limit $offset,$info_num"); 這樣才能調(diào)到 mysql 數(shù)據(jù)庫(kù)和當(dāng)前頁(yè)碼等。
下面是一共包含的三個(gè)文件:(1) index.php:調(diào)用分頁(yè)類(lèi),顯示分頁(yè) (2) pager.class.php:php分頁(yè)類(lèi) (3)pager.css:css樣式美化文件
(1) index.php:
復(fù)制代碼 代碼如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>----分頁(yè)演示-----</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:
復(fù)制代碼 代碼如下:
<?php
/*
* PHP分頁(yè)類(lèi)
* @package Page
* @Created 2013-03-27
* @Modify 2013-03-27
* @link http://www.60ie.net
* Example:
$myPage=new Pager(1300,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
echo $pageStr;
*/
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部分的當(dāng)前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;
}
/*
*設(shè)置頁(yè)面參數(shù)合法性
*@return void
*/
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 = "<P class=\"Pagination\">";
//首頁(yè) 上一頁(yè)
if($this->pageIndex==1)
{
$str .="<a href='javascript:void(0)' class='tips' title='首頁(yè)'>首頁(yè)</a> "."\n";
$str .="<a href='javascript:void(0)' class='tips' title='上一頁(yè)'>上一頁(yè)</a> "."\n"."\n";
}else
{
$str .="<a href='{$this->pageUrl}=1' class='tips' title='首頁(yè)'>首頁(yè)</a> "."\n";
$str .="<a href='{$this->pageUrl}=".($this->pageIndex-1)."' class='tips' title='上一頁(yè)'>上一頁(yè)</a> "."\n"."\n";
}
/*
除首末后 頁(yè)面分頁(yè)邏輯
*/
//10頁(yè)(含)以下
$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頁(yè)以上
{ if($this->pageIndex<3) //當(dāng)前頁(yè)小于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 >= 當(dāng)前頁(yè) >= 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 ) //當(dāng)前頁(yè)大于5,同時(shí)小于總頁(yè)數(shù)-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" ;
}
}
}
/*
除首末后 頁(yè)面分頁(yè)邏輯結(jié)束
*/
//下一頁(yè) 末頁(yè)
if($this->pageIndex==$this->totalPagesCount)
{
$str .="\n"."<a href='javascript:void(0)' class='tips' title='下一頁(yè)'>下一頁(yè)</a>"."\n" ;
$str .="<a href='javascript:void(0)' class='tips' title='末頁(yè)'>末頁(yè)</a>"."\n";
}else
{
$str .="\n"."<a href='{$this->pageUrl}=".($this->pageIndex+1)."' class='tips' title='下一頁(yè)'>下一頁(yè)</a> "."\n";
$str .="<a href='{$this->pageUrl}={$this->totalPagesCount}' class='tips' title='末頁(yè)'>末頁(yè)</a> "."\n" ;
}
$str .= "</P>";
return $str;
}
/**
* 獲得實(shí)例
* @return
*/
// static public function getInstance() {
// if (is_null ( self::$_instance )) {
// self::$_instance = new pager ();
// }
// return self::$_instance;
// }
}
?>
【php分頁(yè)類(lèi)代碼】相關(guān)文章:
學(xué)習(xí)php分頁(yè)代碼實(shí)例10-11
一段經(jīng)典php mysql分頁(yè)程序代碼08-11
PHP中FTP操作類(lèi)代碼09-25
PHP簡(jiǎn)單的分頁(yè)過(guò)程與原理10-01
PHP類(lèi)商品秒殺計(jì)時(shí)實(shí)現(xiàn)代碼07-15
PHP分頁(yè)自定義函數(shù)09-08