<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_35196"> ページネーション クラス - 末尾のページ番号ナビゲーション <div class="blockcode"> <div id="code_QJ2"><ol> <li><?php<li>/**<li> * コメントの末尾ページング ナビゲーションを生成します<li> * @author Li Jun<li> *<li>*/<li>class cmtTail{<li> private $currentPage;<li> private $totalPage;<li> <li> /**<li> * ページ番号ナビゲーションの生成 - トータルコントロール関数 <li> * @param string $currentPage 現在のページ番号 <li> * @param string $totalPage 合計ページ番号 <li> * @throws 例外 ページ番号が 1 未満の場合、例外がスローされます <li> * @return 文字列 <li>*/<li> function __do($currentPage, $totalPage ) {<li> $this->currentPage=$currentPage;<li> $this->totalPage=$totalPage;<li> if($this->totalPage<=10){// 合計ページ数が以下です10 ページまで<li> if( $this->currentPage==1){// 現在のページが最初のページです</li> <li> $str='前のページ'.$this->currentTag();</li> <li> for ($i = 2; $i < = $this->totalPage; $i++) {<li> $str=$str.$this->commonTag($i);</li> <li> $str=$str.$this-> next();</li> <li> } elseif ($this->currentPage==$this->totalPage){//最後のページにジャンプしました</li> <li> $str=$this->up();</li> <li> for ($i = 1; $i < ;= $this->totalPage-1; $i++) {</li> <li> $str=$str.$this->commonTag($i);</li> <li> }</li> <li> $str=$str.$this- >currentTag() ;</li> <li> $str=$str.$this->next();</li> <li> }else{</li> <li> $str=$this->up();</li> <li> for($i=1; $i< $this-> $i++){</li> <li> $str=$str.$this->commonTag($i);</li> <li> }</li> <li> $str=$str.$this->currentTag();//生成現在のページタグ</li> <li> for ($i = $this->currentPage+1; $i totalPage; $i++) {</li> <li> $str=$str.$this->commonTag($ i);</li> <li> }</li> <li> $str=$str.$this->next();</li> <li> }</li> <li> }elseif ($this->totalPage>10){//ページ番号が 10 より大きいです</li> <li> if($ this->currentPage==1){ //8+2</li> <li> $str='前のページ'.$this->currentTag();</li> <li> for ($i = 2; $i $str=$str. $this->commonTag($i);</li> <li> }</li> <li> $str=$str.'...';// 省略記号を追加します</li> <li> $str=$str.$this-> ;commonTag($this->totalPage -1);</li> <li> $str=$str.$this->commonTag($this->totalPage);</li> <li> }elseif($this->currentPage==$this- >totalPage) {//現在の最後のページ</li> <li> $str=$this->up();</li> <li> $str=$str.$this->commonTag(1);</li> <li> $str=$str.'.. .';//省略記号 </li> <li> を追加 for ($i = $this->totalPage-6; $i < $this->totalPage; $i++) {</li> <li> $str=$str.$this->commonTag ($i);</li> <li> } </li> <li> $str=$str.$this->currentTag();</li> <li> $str=$str.$this->next();</li> <li> }else {</li> <li> if ($this-> ;currentPage<6) {<li> $str=$this->up();</li> <li> for ($i = 1; $i < $this->currentPage; $i++) {</li> <li> $str=$str.$ this->commonTag($ i);</li> <li> }</li> <li> $str=$str.$this->currentTag();</li> <li> for ($i = $this->currentPage+1; $i $str =$str.$this->commonTag($i);</li> <li> }</li> <li> $str=$str.'...';//省略記号を追加します</li> <li> $str=$str.$this ->commonTag($this ->totalPage);</li> <li> $str=$str.$this->next();</li> <li> }else {</li> <li> if ($this->currentPage>=$this->totalPage -4) {</li> <li> $str =$this->up();</li> <li> $str=$str.$this->commonTag(1);</li> <li> $str=$str.'...';//追加ellipses</li> <li> for ($i = $this->totalPage-6; $i < $this->currentPage; $i++) {</li> <li> $str=$str.$this->commonTag($i);</li> <li> }</li> <li> $str=$str .$this->currentTag();</li> <li> for ($i = $this->currentPage+1; $i totalPage; $i++) {</li> <li> $ str=$str.$this ->commonTag($i);</li> <li> }</li> <li> $str=$str.$this->next();</li> <li> }elseif ($this->currentPage<$this-> totalPage-4){// 1+5+1</li> <li> $str=$this->up();</li> <li> $str=$str.$this->commonTag(1);</li> <li> $str=$str.' ...';// 省略記号を追加します </li> <li> $str=$str.$this->commonTag($this->currentPage-2);</li> <li> $str=$str.$this->commonTag($this- >currentPage-1); </li> <li> $str=$str.$this->currentTag();</li> <li> $str=$str.$this->commonTag($this->currentPage+1);</li> <li> $str =$str.$this- >commonTag($this->currentPage+2);</li> <li> $str=$str.'...';//省略記号を追加します</li> <li> $str=$str.$this-> commonTag($this-> totalPage);</li> <li> $str=$str.$this->next();</li> <li> }</li> <li> };</li> <li> }</li> <li> }elseif ($this->totalPage<=0){<li> throw new Exception("1 未満のページは不可能です");<li> }<li> return $str;<li> }<li> /**<li> * 一般タグ<li> * @param int $param ページ番号<li> * @return string<li>*/<li> function commonTag($param) {<li> return '<a page="'.$param.'">'.$param.'</a>';</li> <li> } </li> <li> /**</li> <li> * 現在のページラベルを生成します </li> <li> * @param int $param ページ番号 </li> <li> * @return string </li> <li>*/</li> <li> function currentTag() {</li> <li> return '<strong id="on">'.$this->currentPage.'</strong>';<li> }<li> /* *<li> * 次のページのラベルを生成します <li> * @param int $param 次のページのページ番号 <li> * @return string <li>*/<li> function next() {<li> if ($this->currentPage==$this->totalPage) {</li> <li> return '下一页';</li> <li> }</li> <li> return '<a page= '.($this->currentPage+1).'">次页</a>';</li> <li> }</li> <li> /**</li> <li> * 前のページのラベルを生成します </li> <li> * @param int $param 前のページのページ番号 </li> <li> * @return string </li> <li>*/</li> <li> function up() {</li> <li> if ($this- >currentPage==1){</li> <li> return '上一页';</li> <li> }else{</li> <li> return '<a page="'.($this->currentPage-1).'">上一页< ;/a>';</li> <li> }</li> <li> }</li> <li> /**</li> <li> * cmtTail をインスタンス化します,</li> <li> * 機能: Comment の末尾ページング ナビゲーションを生成します</li> <li> * @param string $currentPage 現在のページ番号</li> <li> * @param string $totalPage 総ページ数</li> <li> * @return string return HTML タグ文字列</li> <li>*/</li> <li> static function GO($currentPage, $totalPage) {</li> <li> $p=new cmtTail();</li> <li> return $p->__do($ currentPage, $totalPage);</li> <li> }</li> <li>}</li> <li> </ol></div> <em onclick="copycode($('code_QJ2'));">复制代</em> </div> </td></tr></table> <div id="comment_35196" class="cm"> </div> <div id="post_rate_div_35196"></div> <br><br>