ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルに実装された 1 ページ ページング ツール コード
総ページ数は、一定の長さの木製ブロック上をスライドします。定規の両端が木製ブロックを超えることはできません。ユーザーが渡したページ変数に基づいて、木のブロック上の定規の開始点を見つける必要があることがわかりました。笑、キーコードは以下の通りです:
次のようにコードをコピーします
/**
* 中央のものをスライド式の固定長定規として扱います
*
* $this->_totalShowPages をスライド式の固定長定規として扱います
* $this->_totalPages は指定された長さになります 木のブロック、定規はこの
* 木製ブロックの上をスライドします。 2 つの状況があります:
* 1. 定規の長さが木のブロックの長さより大きい場合、すべてのページ番号が直接出力されます
* 2. 定規の長さが木製ブロックの長さより小さい場合。木製ブロックを作成したら、定規の長さのページ番号を出力する開始点を見つけるだけです
* ——$start, $end;
*www.111cn.Net
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumber()
{
$pageHtml = '';
//$開始点を見つけます
if($this->_curPage - 2 > ; 1 ) {
$start = $this->_curPage - 2;
} else {
$start = 1;
}
//$end ポイントを見つける
$end = $start + $this->_totalShowPages ;
if ($end >= $this->_totalPages) {
$end = $this->_totalPages;
$start = $end - $this->_totalShowPages; //ページ表示は $this- >_totalShowPages
}
if($start != 1) {
$pageHtml .= $this->_getPageHtml(1);
$preMore = $this->_curPage - $this- >_totalShowPages;
if ($preMore < 1) {
$preMore = 1;
}
$pageHtml .= $this->_getMorePageHtml($preMore);
}
for($page = $start; $ページ < $end; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
if($end != $this->_totalPages) {
$pageHtml .= $this->_getMorePageHtml ($end);
}
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
return $pageHtml;
}
最初の古いアイデアのコード実装:
代码如下复制代码
/**
* ステップバイステップ
*
* @desc
*
* @Access protected
*/
protected function _getShowPageNumberTwo()
{
if($this->_curPage < $this->_totalShowPages) {
for($page = 1; $ページ < $this->_totalShowPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->) ;_totalShowPages);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
} else {
$pageHtml .= $this->_getNormalPageHtml(1);
if($this-> ;_curPage == $this->_totalShowPages) {
$pageHtml .= $this->_getMorePageHtml(1);
} else {
$pageHtml .= $this->_getMorePageHtml($this->_curPage - $this->_totalShowPages);
}
if($this->_curPage + $this->_totalShowPages >= $this->_totalPages) {
for($page = $this->_totalPages - $this->_totalShowPages; $page < = $this->_totalPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
} else { = $this->_curPage - 2;
$end = $this->_curPage + $this->_totalShowPages - 2;
for($page = $start; $ページ $pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->_curPage + $this->_totalShowPages - 2);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
}
}
return $pageHtml;
}
例図:
クラスの文書ダウンロード:HPage.php (等我この小さなクラス库は再び再起動を完了しました :D)。
さらに多くの内容请查看:http://www.bKjia.c0m/phper/php/56745.htm
http://www.bkjia.com/PHPjc/670715.html
www.bkjia.com