- function show_page($count,$page,$page_size)
- {
- $page_count = ceil($count/$page_size) //総ページ数を計算します
- $init=1;
- $page_len=7 ;
- $max_p=$page_count;
- $pages=$page_count;
- //現在のページ番号を判定
- $page=(empty($page)||$page<0)?1:$page;
- //Get現在のページの URL
- $url = $_SERVER['REQUEST_URI'];
- // URL 内の元のページ パラメータを削除して、新しいページ パラメータを追加します
- $parsedurl=parse_url($url);
- $url_query = isset($parsedurl ['クエリ ']) $parsedurl['クエリ']:'';
- if($url_query != ''){
- $url_query = preg_replace("/(^|&)page=$page/",' ',$ url_query);
- $url = str_replace($parsedurl['query'],$url_query,$url);
- if($url_query != ''){
- $url .= '&';
- }
- } else {
- $url .= '?';
- }
- //ページング関数コード
- $page_len = ($page_len%2)?$page_len:$page_len+1; //ページ番号の数
- $pageoffset = ( $page_len-1 )/2; //ページ番号の左右のオフセット
- $navs='';
- if($pages != 0){
- if($page!=1){
- $navs. ="ホームページ " //最初のページ
- $navs.="前のページ"; //前のページ
- } else {
- $navs .= "ホームページ
- $navs .= "前のページ";
- }
- if($pages>$page_len)
- {
- //現在のページが以下の場合または左と等しい Shift
- if($page $init=1;
- $max_p = $page_len;
- }
- else //現在のページが左のオフセットより大きい場合
- {
- / /現在のページ番号の右オフセットが最大ページ数を超えている場合
- if($page+$pageoffset>=$pages+1){
- $init = $pages-$page_len+1;
- }
- else
- {
- //計算左右両方のオフセットが存在する場合
- $ init = $page-$pageoffset;
- $max_p = $page+$pageoffset;
- }
- }
- }
- for($i=$init;$i<=$max_p;$i++ )
- {
- if($i= =$page){$navs.="".$i.'';}
- else {$navs.= " ".$i."";}
- }
- if($page!=$pages)
- {
- $navs.=" < ;a href="".$url."page=".($page+1)."">次のページ ";//次のページ
- $navs .="最後のページ"; //最後のページ
- } else {
- $navs .= "< span class='disabled '>次のページ";
- $navs .= "最後のページ";
- }
- echo "$navs";
- }
- }
コードをコピー
|