ホームページ > バックエンド開発 > PHPチュートリアル > 神様、私のクエリのページネーション クラスが間違っていることを確認してください。

神様、私のクエリのページネーション クラスが間違っていることを確認してください。

WBOY
リリース: 2016-06-13 12:48:53
オリジナル
786 人が閲覧しました

神様、私のクエリのページネーション クラスがどこで間違っているかを見つけてください。

<br>。
これはpage.class.php<br>です
<?php<br />
class DividePage{//ページクラス<br />
private $total;//表示されるレコードの総数<br />
private $url;//リクエストされた URL アドレス<br />
private $displaypg;//各ページに表示されるレコード数、デフォルトは各ページに 10 レコード表示されます<br />
private $page;//現在のページ番号<br />
private $lastpg;//総ページ数、つまり最後のページのページ番号<br />
private $prepg;//前のページ<br />
private $nextpg;//次のページ<br />
private $firstcount;//レコード番号の通し番号は0から始まります<br />
private $startd;//レコード数が始まるレコード番号。<br />
private $stopd;//レコード数の末尾のレコード番号。<br />
<br />
//コンストラクター<br />
パブリック関数 __construct($url, $total, $displaypg){<br />
$this->url = $url;//リクエストされた URL<br />
$this->total = $total;//レコードの合計数<br />
//if($displaypg == '')<br />
$this->displaypg = $displaypg;//各ページに表示されるレコードの数<br>
$this->initDividePage();//ページングクラスを初期化します<br>
//エコー ','.$this->displaypg;<br>
}<br>
<br>
//ページングクラスを初期化します<br>
プライベート関数 initDividePage(){<br>
//URLを解析<br>
$parse_url = parse_url($this->url);// URL を固定のキーと値のペアを持つ配列として解釈します<br>
$url_query = $parse_url['query'];//URL 内のクエリ文字列を取得します<br>
if($url_query){//クエリ文字列がある場合は、クエリ文字列内の現在のページのクエリ フィールドを削除します。例: &page=$page または page=$page<br>
ereg('(^|&)page=([0-9]*)', $url_query, $k);<br>
$this->page = $k[2];//現在のページの値を取得します<br>
$url_query = ereg_replace("(^|&)page=$this->page", '', $url_query);//クエリ文字列内の現在のページのクエリ フィールドを削除します。例: &page=$page またはページ=$ページ<br>
$this->url = str_replace($parse_url['query'], $url_query, $this->url);//他のクエリ文字列を保持します、<br>
$this->page = $this->page ? $this->page : 1;//クエリ文字列に現在のページの値がない場合、現在のページを 1<br> に設定します
if($url_query){//他のクエリ文字列がある場合は、ページめくりのクエリ文字列を &page=$page<br> の形式で追加します
$this->url .= '&page';<br>
}else{//他にクエリ文字列がない場合は、page=$page<br> の形式でページめくりのクエリ文字列を追加します。
$this->url .= 'ページ';<br>
}<br>
}else{//クエリ文字列がない場合は、URL<br> の後に ?page=$page の形式でページめくりのクエリ文字列を追加します
$this->page = 1;<br>
$this->url .= '?page';<br>
}<br>
$this->lastpg = ceil($this->total / $this->displaypg);//総ページ数、つまり最後のページのページ番号を計算します<br>
$this->page = min($this->lastpg, $this->page);//現在のページが総ページ数より大きい場合、現在のページは最後のページのページ番号になります<br>
$this->prepg = $this->page - 1;//前のページは現在のページから 1 を引いたものです<br>
$this->nextpg = $this->page 1;//(($this->page == $this->lastpg) ? $this->lastpg : ($this->page 1 ));//次のページは現在のページに 1 を加えたものです。現在のページが最後のページの場合、次のページは 0<br> です。
$this->firstcount = ($this->page - 1) * $this->displaypg;//現在のページのレコード番号とレコード数を 0 から計算します。<br>
$this->startd = $this->total ? ($this->firstcount 1) : 0;//レコード開始番号は 1 から始まります<br>
$this->stopd = min($this->firstcount $this->displaypg, $this->total);//レコード終了番号<br>
//エコー $this->displaypg;<br>
//エコー $this->nextpg.' = ='.$this->lastpg;<br>
}<br>
<br>
public function getPageInfo(){// 現在のページの基本情報を取得します。たとえば、レコード 1 ~ 10、合計 23 レコードを表示します。 <br>
return '<span class="pageinfostyle">表示ページ<span class="numstyle">'.$this->startd.'-'.$this->stopd.'</span>レコード、合計 <span class="numstyle">'.$this->total.'</span> </span>';<br>
}<br>
<br>
public function getCommonPageNav(){//次のような共通のページング ナビゲーションを取得します。 ホーム ページ 前のページ 次のページ 最後のページ <br>
$commonnav = '';<br>if($this->lastpg == 1){// ページが 1 つしかない場合は、ページめくりナビゲーションに戻り、終了し、次のページ、前のページなどを表示しません。 。 。 <br>
$commonnav を返す;<br>
休憩;<br>
}<br>
$commonnav = '<a href="'.$this->url.'=1" class="compagestyle">ホームページ</a>';//ホームページのナビゲーションを設定します、page=1<br>
if($this->prepg){<br>
$commonnav .= '<a href="'.$this->url.'='.$this->prepg.'" class="compagestyle">前のページ</a>'; >
}else{ <br><div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート