ページネーションページ番号表示アルゴリズム
コードをコピーします コードは次のとおりです:
/**
* ページ分割された HTML コンテンツを取得します
* @param integer $page 現在のページ
* @param integer $pages 総ページ数
* @param string $url ジャンプ URL アドレス 最後のページ番号は '&page=x で URL に追加されます'
*
* @return string HTML コンテンツの後ろ;
*/
public static function getPageHtml($page, $pages, $url){
//ページ番号はいくつまで取得できますか最大でも表示されます
$_pageNum = 5;
//現在のページが 1 より小さい場合は 1 です
$page = $page //現在のページが 1 より大きい場合total number of pages は、総ページ数です
$page = $page > $pages ? $pages : $page;
// ページ数が少ない場合は、現在のページです
$pages = $pages < $page ? $pages;
// 開始ページを計算します
$_start = $_start<1 ? ;
//終了ページを計算します
$_end = $page + Floor($_pageNum/2);
$_end = $_end> $pages : $_end;
// 現在表示されているページ数は最大ページ数には足りません
$_curPageNum = $_end-$_start+1;
//左を調整します
if($_curPageNum< ;$_pageNum && $_start>1){
$_start = $ _start - ($_pageNum-$_curPageNum);
$_start = $_start<1 ? 1 : $_start;
$_curPageNum = $_end-$_start+1 ;
}
//右に調整
if($_curPageNum<$ _pageNum && $_end<$pages){
$_end = $_end + ($_pageNum-$_curPageNum);
$_end = $_end>$pages : $_end;
}
$_pageHtml = '< ul class="ページネーション">';
/*if($_start == 1){
$_pageHtml .= '
«< ;/li>';
}else{
$_pageHtml .= '« ';
}*/
if($page>1){
$_pageHtml .= '
«';
}
for ($ i = $_start; $i <= $_end; $i++) {
if($i == $page){
$_pageHtml .= '
'.$i.'';
} else{
$_pageHtml .= '
'.$i.' }
}
/*if($_end == $pages){
$_pageHtml .= '
< a title="最後のページ">» li>';
}else{
$_pageHtml .= '»< /a>';
}*/
if($page<$_end){
$_pageHtml .= '
»' ;
}
$_pageHtml .= '';
echo $_pageHtml;
}
http://www.bkjia.com/PHPjc/755839.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/755839.html技術記事ページング ページ番号表示アルゴリズムのコピー コード コードは次のとおりです。 /** * ページング HTML コンテンツを取得します* @param integer $page current page* @param integer $pages 合計ページ数* @param string $url Jump ur.. .