完璧な PHP チュートリアル記事のページネーション クラス
class SubPages{
private $each_disNums;//各ページに表示されるエントリの数
private $nums;//エントリの総数
private $current_page;//現在選択されているページ
private $sub_pages ;//毎回表示されるページ数
private $pageNums;//総ページ数
private $page_array = array();//ページングの構築に使用される配列
private $subPage_link;//各ページングのリンク
private $subPage_type;// ページングのタイプを表示します
/*
__construct は、クラスの作成時に自動的に実行される SubPages のコンストラクターです
@$each_disNums 各ページに表示される項目の数
@nums 合計数。アイテムの@current_num current選択したページ @sub_pages毎回表示されるページ数@subpage_link @subpage_typeページのタイプが表示されます。現在のページ 1/453 [ホーム] [前のページ] [次のページ] [最後のページ]
@subPage_type=2 の場合、古典的なページング スタイルです
例: 現在のページ 1/453 [ホーム] [前のページ] 1 2 3 4 5 6 7 8 9 10 [次のページ] [最後のページ]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$ this-> each_disNums=intval($each_disNums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=1;
}else{
$ this-> current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this-> ;subPage_link=$ subPage_link;
$this->show_SubPages($subPage_type); // show_SubPages 関数を呼び出す
// $this->pageNums."--".$this->sub_pages;
}
関数 __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($ subPage_link);
unset($subPage_type);
}
/*
show_SubPages 関数はコンストラクターで使用されます。そして、表示するページングの種類を決定するために使用されます
*/
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2) ) {
$this->subPageCss2();
}
}
/*
ページングを作成するための配列を初期化するために使用される関数。
*/
function initArray(){
for ($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_Page この関数は、表示されるエントリを構築するために使用されます
偶数: [1][2][3][4][5][6][7][8] [ 9][10]
*/
functionconstruct_num_Page(){
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0; $ i<$this->pageNums;$i++){
$current_array[$i]=$i+1;
}
}else{
$current_array=$this->initArray();
if($ this ->current_page for($i=0;$i
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i= 0;$i
の場合($i=0;$i
}
}
}
return $current_array;
}
/*
通常モードでページングを構築します
合計 4523 レコード、ページごとに 10 レコード、現在のページ 1/453 [ホーム] [前のページ] [次のページ] [最後のページ]
* /
function subPageCss1( ){
$subPageCss1Str="";
$subPageCss1Str.="合計 ".$this->nums." レコード,";
$subPageCss1Str.="ページごとの ".$this-" >each_disNums を表示します。" Bar,";
$subPageCss1Str.="現在のページ".$this->current_page."/".$this->pageNums."ページ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss1Str.="[< ;a href=' $firstPageUrl'>ホームページ] ";
$subPageCss1Str.="[前のページ] ";
} else {
$subPageCss1Str.=" [ホーム] ";
$subPageCss1Str.="[前のページ] ";
}
if($this->current_page < $this->pageNums){
$ lastPageUrl=$this->subPage_link. $this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [次のページ< /a>] ";
$subPageCss1Str.="[最後のページ] ";
}else {
$subPageCss1Str.="[次のページ] ";
" ページ 1/453 [ホーム] [前のページ] 1 2 3 4 5 6 7 8 9 10 [次のページ] [最後のページ]
*//* 商品ページの使用 */
function subPageCss2(){
$subPageCss2Str= "";
//jason edit
//$subPageCss2Str.="
http://www.bkjia.com/PHPjc/444974.html