PHP でデータ ページングを実装する一般的な方法
リリース: 2016-07-25 08:45:27
- 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";
- }
- }
コードをコピー
|
ページネーション、PHP
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31