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