これは、シンプルで便利な、完全に機能するページング クラスです。必要に応じて CSS スタイル ファイルを変更して、ページングの色を制御できます。必要なのは、PHP ページング クラスだけです。ページングの場所に埋め込むだけです。使い方は次のとおりです:
1. head に pager.css をインクルードします
2. ページング ポイントでクラスをインスタンス化します。
include "pager.class.php";
$CurrentPage=isset($_GET['page'])?$_GET[ 'ページ'] :1;
//die($CurrentPage);
$myPage=new pager(1300,intval($CurrentPage));
//echo $ pageStr; $ myPage=new pager(90,intval($CurrentPage));
echo $pageStr;
3. mysql データベースの読み取りとページング計算ファイルは自分で記述する必要があります。例:
$info=mysql_query("select * from member order by id desc limit $offset,$info_num"); このようにして、mysql データベースと現在のページ番号を転送できます。
全部で以下の3つのファイルが含まれています:(1)index.php:ページングクラスを呼び出してページングを表示します(2)pager.class.php:phpページングクラス(3)pager.css:CSS風美化ファイル
< $myPage=new pager(1300,intval($CurrentPage)); Str= $myPage->GetPagerContent()
/*
* PHP分页类
* @package Page
* @Created 2013-03-27
* @Modify 2013-03-27
* @link http://www.60ie.ネット
* 例:
$myPage=new Pager(1300,intval($CurrentPage));
$pageStr= $myPage->GetPagerContent();
echo $pageStr;
*/
class Pager {
private $pageSize = 10;
プライベート $pageIndex;
プライベート $totalNum;
プライベート $totalPagesCount;
プライベート $pageUrl;
プライベート静的 $_instance;
public function __construct($p_totalNum, $p_pageIndex, $p_pageSize = 10,$p_initNum=3,$p_initMaxNum=5) {
if (! isset ( $p_totalNum ) || !isset($p_pageIndex)) {
死ぬ ( 「ポケベル初期エラー」 );
}
$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();
}
/**
* ページ部分を除いた現在の URL 文字列を取得
*
* @return String URL 文字列
*/
private function _getPageUrl() {
$CurrentUrl = $_SERVER["REQUEST_URI"];
$arrUrl = parse_url($CurrentUrl);
$urlQuery = $arrUrl["クエリ"];
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
*/
private function _initPagerLegal()
{
if((!is_numeric($this- >pageIndex)) || $this-> ;pageIndex<1)
{
$this->pageIndex=1;
}elseif($this->pageIndex > $this->totalPagesCount)
}
//$this->pageUrl }={$i}
//{$this->CurrentUrl}={$ This&gt; totalpages} public function getPageContent(){$ str = "&lt; div class =" Pagination "&gt;ページ "."n"."n"; =「ホーム」>ホーム "."n"; )「'クラス =' ヒント' タイトル = '前のページ' & gt; 最後のページ & lt; /a & gt;". "n". "n"; ページング ロジック
for($i=1;$i<= $this->totalPagesCount;$i++) nt =" class='現在'";} }else //10页以上
{ if($this->pageIndex<3) //当前页小以下3
{
for($i=1;$i<=3;$i++)
{
if($ i==$this->pageIndex)
{ $currnt=" class='current'";}
else { $currnt=""; }
$str .="
$i"."n" ;
}
$str.="
……"."n";
for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)// 功能1
{
$str .="
$i"."n" ;
}
}elseif($this->pageIndex<=5) // 5 >=当前页 >= 3
{
for($i=1;$i<=($this->pageIndex +1);$i++)
{
if($i==$this->pageIndex)
{ $currnt="current '";}
else
{ $currnt=""; }
$str .="
$i"."n" ;
}
$str.="
……"."n";
for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1
{
$str .="
$i"."n" ;
}
}elseif(5<$ this->pageIndex && $this->pageIndex<=$this->totalPagesCount-5 ) //当前页大より5、同時に总页数-5より小さい
{
for($i=1;$ i<=3;$i++)
{
$str .="
$i"."n" ;
}
$str.="
……";
for($i=$this ->pageIndex-1 ;$i ;pageIndex+1 && $i<=$this->totalPagesCount-5+1;$i++)
{
if($i==$this->pageIndex)
{ $currnt=" class='current' ";}
else
{ $currnt=""; }
$str .="
$i"."n" ;
}
$str.="
……";
for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)
{
$str .="
$i"."n" ;
}
}else
{
for($i=1;$i< ; = 3; $ i ++)
{
$ str。= "&lt; a href = '{$ this-&gt; pageurl} = {$ i}'&gt; $ i&lt;/a&gt;"。 "n"; }
$str.="
……& lt;/span & gt; "." n ";
for ($ i = $ This-GT; TotalPageScount-5; $ i & lt; = $ This- & GT; TotalPageScount; $ i ++) / / 関数 1 F ( $i==$this->pageIndex) $currnt=""; } this->pageUrl}={$i} ' {$currnt}>$i"。 "n" ;ページページングロジックが終了します
$str .="n"."次のページ最後のページ"."n";
.="n"." a href='{$this->pageUrl}=".($this->pageIndex+1)."' class='tips' title='次のページ'>次のページ a> ;最後のページ< ;/a> "."n" ;
/**
* インスタンスを取得します
* @return
*/
// static public function getInstance() {
// if (is_null ( self::$_instance )) {
// self ::$_instance = 新しいページャー ();
// }
// return self:: $_instance
// }
}
;
(3) pager.css:
コードをコピーします
コードは次のとおりです:
body,html{padding:0px;マージン:0px;色:#333333; font-family:"宋体"、Arial、Lucida、Verdana、Helvetica、サンセリフ;フォントサイズ:12px; line-height:150%;}
h1,h2,h3,h4,h5,h6,ul,li,dl,dt,dd,form,img,p,label{margin:0;パディング:0;境界線:なし; list-style-type:none;}
/**フロントページのページネーションのスタイル**/
.Pagination {margin:10px 0 0;padding:5px 0;text-align:rightright;高さ:20ピクセル;行の高さ: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;背景色:#ff6600;背景画像:なし; border:#ff6600 ソリッド 1px;}
.Pagination .selectBar{ border:#dedede ソリッド 1px;フォントサイズ:12px;幅:95ピクセル;高さ:21ピクセル;行の高さ:21px;マージン左:10px; display:inline}
.ページネーション a.tips{_padding:4px 7px 1px;}
转ダウンロード:http://60ie.net/article/8/365.html
http://www.bkjia.com/PHPjc/326694.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/326694.html技術記事これは一項宀单、方便、機能性全の分別タイプであり、必要に応じて CSS 形式の文書を変更して分別制御を実現し、php 分別クラスを利用して、自分の多くを削除することができます...