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

PHP ページング関数

WBOY
WBOYオリジナル
2016-07-25 08:44:27874ブラウズ

PHP ページング コード呼び出し: $start=show_page($query,$page,$link,$offset); ここで、$start は開始レコード、$query は完全なレコード取得 SQL ステートメント、$page は現在のページ番号です。 , $link は渡されるページパラメータ $offset は各ページに表示されるレコード数です

  1. //======function.php======
  2. // ======ページング関数=== =======
  3. function show_page($query,$page,$link,$offset)
  4. {
  5. $db = new mysql();
  6. $result = $ db->query($query);
  7. $Page_size = $offset; //各ページに表示される注文の最大数を取得します
  8. $count = $db->affected_rows($result); //注文の合計数
  9. $page_count = ceil($count/$Page_size); / /総ページ数を計算します
  10. $init=1;
  11. $page_len=7;
  12. $max_p=$page_count;
  13. $pages=$page_count;
  14. //現在のページ番号を判定します
  15. $page=(empty($page )||$page<0)?1:$page;
  16. $start=$Page_size*($page-1);
  17. //ページング関数code
  18. $page_len = ($page_len%2)?$page_len:$ pagelen+1; //ページ番号の数
  19. $pageoffset = ($page_len-1)/2; //番号の左右のオフセットページ番号の数
  20. $key="$count in total";
  21. $key.="$ page/$pages " //何ページ、合計何ページ
  22. if($page!=1){
  23. $ key.="最初のページ " //最初のページ
  24. $key.="< a href="".$_SERVER['PHP_SELF']."?page=". ($page-1)."&$link">前のページ"; //前のページ
  25. }
  26. else
  27. {
  28. $key.="最初のページ";//最初のページ
  29. $key.="前のページ" //前のページ
  30. }
  31. if($pages>$page_len)
  32. {
  33. //現在のページの場合左オフセット以下です
  34. if($page<=$pageoffset ){
  35. $init=1;
  36. $max_p = $page_len;
  37. }
  38. else //現在のページが左オフセットより大きい場合
  39. {
  40. //現在のページ番号の右オフセットが最大ページ数を超えている場合
  41. if($page+$ pageoffset>=$pages+1){
  42. $init = $pages-$page_len+1;
  43. }
  44. else
  45. {
  46. //左右両方のオフセットが存在する場合の計算
  47. $init = $page-$pageoffset;
  48. $ max_p = $page+$pageoffset;
  49. }
  50. }
  51. }
  52. for($i=$init;$i< =$max_p;$i++)
  53. {
  54. if($i==$page){$key.=' ['.$i.']';}
  55. else {$key.=" ";}
  56. }
  57. if($page!=$ページ)
  58. {
  59. $key.=" 次のページ ";//次のページ
  60. $key.="最後のページ"; //最後のページ
  61. }
  62. else
  63. {
  64. $key.= "次のページ"; //次のページ
  65. $key.="最後のページ"; //最後のページ
  66. }
  67. echo "$key< BR>
    ";
  68. return $start;
  69. }
  70. ?>
コードをコピー

通話例

[コード]
ページネーション、PHP


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