ホームページ > バックエンド開発 > PHPチュートリアル > 完璧な PHP 記事のページネーション class_PHP チュートリアル

完璧な PHP 記事のページネーション class_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:07:13
オリジナル
883 人が閲覧しました

完璧な 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 $current_array[$i]=$i+1;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i= 0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i; else{
の場合($i=0;$i $current_array[$i]=$this->current_page-2+$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.="

  • 現在のページ ".$this->current_page."/".$this->pageNums." &lt;/li&gt; ";
    if($ this-&gt; current_page&gt; 1){
    $ firstPageurl = $ this-&gt; subpage_link。" 1 ";
    current_page-1);
  • ホームページ
  • ";
    $subPageCss2Str . = "
  • ホームページ< ;/li> ";
    $subPageCss2Str.="
  • 前のページ
  • ";
    }

    $ a=$this->construct_num_Page();
    for($ i=0;$i $s = $a[$i];
    if($s == $this->current_page ){
         $subPageCss2Str.="
  • ".$s."
  • ";
    }else{
    $url=$this->subPage_link.$s;
    //echo $url;exit;
    $subPageCss2Str.="
  • ".$s."
  • ";
    // echo $ subpagecss2str;
    }
    }
    // exit; ;pageNums;
    $nextPageUrl=$this->subPage_link.($this->current_page+1);
    $subPageCss2Str.=" ";
    //$subPageCss2Str.=" ";
    }else {
    $subPageCss2Str.="
  • 下一页
  • ";
    //$subPageCss2Str.="< li class="nexta">尾页 ";
    }
    echo $subPageCss2Str;
    }
    }


    http://www.bkjia.com/PHPjc/444974.html

    本当http://www.bkjia.com/PHPjc/444974.html技術記事完美php教程文章分页类 class SubPages{ private $each_disNums;//每页表示の条目数 private $nums;//总条目数 private $current_page;//当前被选中の页 private $...
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート