首頁  >  文章  >  後端開發  >  一個好用的php分頁類

一個好用的php分頁類

WBOY
WBOY原創
2016-07-25 09:02:46976瀏覽
  1. /**
  2. 將查詢分頁的類別
  3. @link http://bbs.it-home.org
  4. */
  5. class paging
  6. {
  7. private $pageSize; // 沒一頁顯示的條數預設是10條。
  8. private $totlePage; //總共有多少筆記錄
  9. private $dbConnection;//資料庫連線
  10. private $nowPageIndex;//目前顯示的頁數
  11. private $show; //使用那種方式顯示導航,預設的方式是使用show1()首頁|上一頁|下一頁|末頁的方式。
  12. /**
  13. 建構函數,建立資料庫的連線
  14. @$pageSizeP 沒一頁顯示的條數預設是10個。
  15. @$show 使用那種方式顯示導航,預設的方式是使用show1()首頁|上一頁|下一頁|末頁的方式。
  16. */
  17. public function _construct($pageSizeP=10,$show="show1")
  18. {
  19. $this->dbConnection = @mysql_connect("localhost",
  20. $this->dbConnection = @mysql_connect("localhost",
  21. $this->dbConnection = @mysql_connect("localhost",
  22. $this->dbConnection = @mysql_connect("localhost", "username","password");
  23. if($this->dbConnection)
  24. {
  25. die("");
  26. }
  27. mysql_select_db($this->dbConnection,"databaseName ");
  28. $this->show = $show;
  29. $this->pageSize = $pageSizeP;
  30. }
  31. /**
  32. 析構函數,關閉資料庫的連線。
  33. */
  34. public function _destruct()
  35. {
  36. @mysql_close($this->dbConnection);
  37. }
  38. /**
  39. 查詢資料庫,顯示資料庫的記錄條數。
  40. @$sql 查詢資料庫的sql語句。
  41. @$charset 查詢資料庫使用的字元集,預設的是UTF-8。
  42. @return 傳回資料庫查詢的結果,儲存成數組,然後返回,條數不確定。
  43. */
  44. public function querySQL($sql,$charset="UTF-8" )
  45. {
  46. mysql_query("SET NAMES ".$charset);
  47. $rs = @mysql_query($sql);
  48. if(!$rs)
  49. {
  50. die(> if(!$rs)
  51. {
  52. die( "");
  53. }
  54. $num = @mysql_num_rows($rs);
  55. $this->totlePage= ceil($num/$this->pageSize);
  56. $this->nowPageIndex = (isset($_POST['page']) || $_POST['page'] >= 1):$_POST['page']?1;
  57. if($this->nowPageIndex >$this- >totlePage)
  58. {
  59. $this->nowPageIndex = $this->totlePage;
  60. }
  61. $start = ($this->nowPageIndex - 1)*$this->pageSize;
  62. mysql_free_result($rs);
  63. $sql .= "LIMIT $start,$this->pageSize";
  64. $rs = @mysql_query($sql);
  65. if(!$rs)
  66. {
  67. die("");
  68. }
  69. $rows = array();
  70. while($row = @mysql_fetch_row($rs))
  71. {
  72. $rows[ ] = $row;
  73. }
  74. @mysql_free_result($rs);
  75. return $rows;
  76. }
  77. /**
  78. 顯示導航蘭。
  79. @$arg 呼叫顯示導航的函數的參數。
  80. $img1 一個數組,保存導航的連接的圖片。在呼叫show1()使用的。
  81. $size 導覽蘭的一行顯示的頁數。在呼叫show2()使用的。
  82. */
  83. public function show($argarg )
  84. {
  85. $func = $this->show; $this->$func($arg); } /** 以首頁|上一頁|下一頁|末頁的方式顯示導航。 @$img1 首頁|上一頁|下一頁|末頁對應的圖片路徑數組,預設為NULL,既不顯示 圖片。
  86. */
  87. private function show1($img1 = NULL)
  88. {
  89. $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
  90. $str = "
  91. $str .= ">上一頁
    當前$this->nowPageIndex頁/共$this->totlePage頁 ";
  92. if(isset( $img) || $img != NULL)
  93. {
  94. $str .= "首頁
  95. $str .= " >下一頁 $str .= ">末頁
    ";
  96. }
  97. else
  98. {
  99. $str .= "首頁>
  100. $page1 = $this->nowPageIndex - 1;
  101. $str .= ereg_replace ("page=/.&","page=$page1&",$url);
  102. $str .= ">上一頁
  103. $str .= ">下一頁 $str .= ">末頁 ";
  104. }
  105. echo $str;
  106. }
  107. /**
  108. 以1|2|3|。 。 。的方式顯示導航。
  109. @$size 導覽蘭每一行顯示的頁數,預設為10。
  110. */
  111. 原生函數show2($size =10)
  112. {
  113. $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
  114. $str = "
  115. ";
  116. for($索引= 1 ; $index totlePage ; $index++)
  117. {
  118. $str .= "
  119. ";
  120. if($index == $size)
  121. {
  122. $str . ="
  123. ";
  124. }
  125. }
  126. $str .= "
  127. $str .= "$index
    ";
  128. echo $str;
  129. }
  130. }
  131. ?>複製程式碼


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:我的程式致富之路下一篇:我的程式致富之路

相關文章

看更多