PHP ユニバーサル ページング クラス コード_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:04:40
オリジナル
842 人が閲覧しました

phpユニバーサルページングクラスコード これは、メソッドを使用する PHP ページング コードです。さまざまなページング コードの特徴をまとめ、使いやすく理解しやすい PHP の一般的なページング クラスを作成します。

phpチュートリアルのユニバーサルページングクラスコード
これは、メソッドを使用する PHP ページング コードです。さまざまなページング コードの特徴をまとめ、使いやすく理解しやすい PHP の一般的なページング クラスを作成します。
*/

クラス分割ページ{//ページネーション クラス
private $total;//表示するレコードの総数
private $url;//リクエストされた URL アドレス
private $displaypg;//各ページに表示されるレコード数、デフォルトは各ページに 10 レコード表示されます
private $page; //現在のページ番号
private $lastpg;//総ページ数、つまり最後のページのページ番号
private $prepg; //前のページ
private $nextpg; //次のページ
private $firstcount;//レコード数の通し番号は0から始まります
private $startd;//レコード数が始まるレコード番号
private $stopd;//レコード数の末尾のレコード番号

//コンストラクター
パブリック関数 __construct($url, $total, $displaypg){
$this->url = $url;//リクエストされたURL
$this->total = $total;//レコードの総数
//if($displaypg == '')
$this->displaypg = $displaypg;//各ページに表示されるレコード数
$this->initdividepage();//ページングクラスを初期化します
//エコー ','.$this->displaypg;
}

//ページングクラスを初期化する
プライベート関数 initdividepage(){
//URLを解析
$parse_url = parse_url($this->url);// URL を固定のキーと値のペアを持つ配列として解釈します
$url_query = $parse_url['query'];// URL 内のクエリ文字列を取得します
if($url_query){//クエリ文字列がある場合は、クエリ文字列内の現在のページのクエリ フィールドを削除します。例: &page=$page または page=$page
ereg('(^|&)page=([0-9]*)', $url_query, $k);
$this->page = $k[2];//現在のページの値を取得します
$url_query = ereg_replace("(^|&)page=$this->page", '', $url_query);//クエリ文字列内の現在のページのクエリ フィールドを削除します。例: &page=$page またはページ=$ページ
$this->url = str_replace($parse_url['query'], $url_query, $this->url);// 他のクエリ文字列は保持します
$this->page = $this->page ? $this->page : 1;//wクエリ文字列に現在のページの値がない場合は、現在のページを 1 に設定します
if($url_query){//他のクエリ文字列がある場合は、ページめくりのクエリ文字列を &page=$page
の形式で追加します $this->url .= '&page';
}else{//他にクエリ文字列がない場合は、ページめくりのクエリ文字列を page=$page
の形式で追加します $this->url .= 'ページ';
}
}else{//クエリ文字列がない場合は、URL の後に ?page=$page の形式でページめくりのクエリ文字列を追加します
$this->ページ = 1;
$this->url .= '?page';
}
$this->lastpg = ceil($this->total / $this->displaypg);//総ページ数、つまり最後のページのページ番号を計算します
$this->page = min($this->lastpg, $this->page);//現在のページが総ページ数より大きい場合、現在のページは最後のページのページ番号になります
$this->prepg = $this->page - 1;//前のページは、現在のページから 1 を引いたものです www.bKjia.c0m
$this->nextpg = $this->page + 1;//(($this->page == $this->lastpg) ? $this->lastpg : ($this->page + 1));//次のページは現在のページに 1 を加えたものです。現在のページが最後のページの場合、次のページは 0 です
$this->firstcount = ($this->page - 1) * $this->displaypg;//現在のページのレコード番号とレコード数を0から計算します
$this->startd = $this->total ? ($this->firstcount + 1) : 0;//レコードの開始番号は 1 から始まります
$this->stopd = min($this->firstcount + $this->displaypg, $this->total);//レコード終了番号
//エコー $this->displaypg;
//エコー $this->nextpg.'+=+='.$this->lastpg;
}

public function getpageinfo(){// 現在のページの基本情報を取得します。たとえば、レコード 1 ~ 10、合計 23 レコードを表示します。
return '表示ページ'.$this->startd.'-'.$this->stopd.'レコード、合計 '.$this->total.' ';
}

public function getcommonpagenav(){//次のような共通のページング ナビゲーションを取得します: ホーム ページ、前のページ、次のページ、最後のページ
$commonnav = '';
if($this->lastpg == 1){// ページが 1 つしかない場合は、ページ ナビゲーションに戻り、終了し、次のページ、前のページなどを表示しません。 。 。
$commonnavi を返します;
休憩;
}
$commonnav = 'Homepage';//ホームページのナビゲーションを設定します、page=1
if($this->prepg){
$commonnav .= '前のページ'; }その他{
$commonnav .= '前のページ';
}
if($this->nextpg lastpg){
$commonnav .= '次のページ'; }その他{
$commonnav .= '次のページ';
}
$commonnav .= '最後のページ';/ /最後のページのリンクを表示します
$commonnavi を返します;
}

//ページ n などのジャンプ ナビゲーションを取得します

パブリック関数 getjumppagenav(){

//ページ数'.$this->lastpg.'ページ';
$jumpnav を返します;
}

//すべてのページネーション ナビゲーションを取得します

パブリック関数 getallpagenav(){

$temp = $this->getpageinfo().$this->getcommonpagenav().$this->getjumppagenav();
$temp を返します;
}

//データベース チュートリアルの限定された範囲 (0 ~ 9 など) 内で、現在のページに表示されるレコードを取得します

パブリック関数 getlimitstr(){

// $this->page;
をエコーする //エコー $this->firstcount;

//エコー $this->dispalypg;
$temp = $this->firstcount.','.$this->displaypg;
//エコー $temp;
$temp を返します;
}

}

/*
使用例:


*$result=mysqltutorial_query("select * from tb_pagetest");//データベースから表示するデータをクエリします

*$total=mysql_num_rows($result);//クエリされたデータの総数
*$pagesize = 5;//各ページに表示されるレコードの数
*$url = $_server['request_uri'] //リクエストされた URI
; *
*$dividepageclass = new divepage($url, $total, $pagesize); // ページング クラスを作成します (クラスは自動的に初期化できます)
*$limitstr = $dividepageclass->getlimitstr();//現在のページに表示されるレコードの開始シーケンス番号と各ページに表示されるレコード数を取得します。例: 0、5 (5 レコードを表示) 0から始まります)
*echo $dividepageclass->getallpagenav();//すべてのページング ナビゲーション バーを表示します、
※例:レコード11~13の合計13件を表示します。トップページ 前のページ 次のページ 最後のページへ *1ページ目、計3ページ
*$sql = 'select * from tb_pagetest '.$limitstr; *$result=mysql_query($sql);//現在のページに表示するレコードセットをデータベースから取得し、表示します
*例:
*while($row=mysql_fetch_array($result))
*echo "
".$row[タイトル]." | ".$row[著者]

;

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/630833.html技術記事 PHP ユニバーサル ページング クラス コード 使用方法を含む PHP ページング コードです。さまざまなページング コードの特徴をまとめ、使いやすく、理解しやすい PHP ユニバーサル ページング クラスを作成しました。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート