ホームページ  >  記事  >  バックエンド開発  >  PHP ページング関数のコード共有

PHP ページング関数のコード共有

WBOY
WBOYオリジナル
2016-07-25 08:51:12891ブラウズ
詳細については、http://qxblog.sinaapp.com/?p=100 を参照してください。

  1. //$count はエントリの総数、$page は現在のページ番号、$page_size は各ページに表示されるエントリの数です
  2. function show_page( $count,$page, $page_size)
  3. {
  4. $page_count = ceil($count/$page_size); // 総ページ数を計算します
  5. $init=1;
  6. $page_len=7;
  7. $max_p=$ page_count;
  8. $pages= $page_count;
  9. //現在のページ番号を判定
  10. $page=(empty($page)||$page<0)?1:$page;
  11. //現在のページのURLを取得
  12. $url = $_SERVER['REQUEST_URI' ];
  13. // URL 内の元のページ パラメータを削除して、新しいページ パラメータを追加します
  14. $parsedurl=parse_url($url);
  15. $url_query = isset($parsedurl['query'] ) ? $parsedurl['query'] :'';
  16. if($url_query != ''){
  17. $url_query = preg_replace("/(^|&)page=$page/",'',$url_query) ;
  18. $url = str_replace($parsedurl ['query'],$url_query,$url);
  19. if($url_query != ''){
  20. $url .= '&';
  21. }
  22. } else {
  23. $ url .= '?';
  24. }
  25. //ページング関数コード
  26. $page_len = ($page_len%2)?$page_len:$page_len+1; //ページ番号の数
  27. $pageoffset = ($page_len-1; )/2; //ページ番号のオフセットについて
  28. $navs='';
  29. if($pages != 0){
  30. if($page!=1){
  31. $navs.="ホームページ "; //最初のページ
  32. $navs.=""; //前のページ
  33. } else {
  34. $navs .= "ホームページ";
  35. $ navs .= "< ;span class='disabled'>前のページ";
  36. }
  37. if($pages>$page_len)
  38. {
  39. // 現在のページが左以下の場合offset
  40. if($page<=$ pageoffset){
  41. $init=1;
  42. $max_p = $page_len;
  43. }
  44. else //現在のページが左のオフセットより大きい場合
  45. {
  46. //現在のページの場合number 右オフセットが最大ページ数を超えています
  47. if($page+ $pageoffset>=$pages+1){
  48. $init = $pages-$page_len+1;
  49. }
  50. else
  51. {
  52. //左と左の両方の場合の計算正しいオフセットが存在します
  53. $init = $page-$pageoffset;
  54. $max_p = $page+$pageoffset;
  55. }
  56. }
  57. }
  58. for($i=$init;$i<=$max_p;$i++)
  59. {
  60. if($i==$page){$navs.= "".$i.'';}
  61. else {$navs.=" ".$i."";}
  62. }
  63. if($page!=$pages)
  64. {
  65. $ navs.=" 次のページ ";//次のページ
  66. $navs.="< ;a href="".$url."page =".$pages."">最後のページ"; //最後のページ
  67. } else {
  68. $navs .= "次のページ
  69. $navs .= "最後のページ";
  70. }
  71. echo "$navs";
  72. }
  73. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。