>  기사  >  백엔드 개발  >  유용한 PHP 페이징 클래스

유용한 PHP 페이징 클래스

WBOY
WBOY원래의
2016-07-25 09:02:461002검색
  1. /**
  2. 쿼리 페이지 매기기 클래스
  3. @link http://bbs.it-home.org
  4. */
  5. 클래스 페이징
  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. 공개 함수 _construct($pageSizeP=10,$show="show1")
  18. {
  19. $this->dbConnection = @mysql_connect("localhost" ,"사용자 이름","비밀번호");
  20. if($this->dbConnection)
  21. {
  22. die("");
  23. }
  24. mysql_select_db($this->dbConnection ,"databaseName");
  25. $this->show = $show;
  26. $this->pageSize = $pageSizeP;
  27. }
  28. /**
  29. 소멸자는 데이터베이스 연결을 닫습니다.
  30. */
  31. 공용 함수 _destruct()
  32. {
  33. @mysql_close($this->dbConnection);
  34. }
  35. /**
  36. 데이터베이스를 쿼리하여 데이터베이스의 레코드 수를 표시합니다.
  37. @$sql 데이터베이스를 쿼리하는 SQL 문입니다.
  38. @$charset 데이터베이스에서 사용하는 문자셋을 조회합니다. 기본값은 UTF-8입니다.
  39. @return 데이터베이스 쿼리 결과를 반환하고 이를 배열로 저장한 후 반환하며, 항목 개수는 불확실합니다.
  40. */
  41. 공용 함수 querySQL($sql,$charset ="UTF-8")
  42. {
  43. mysql_query("SET NAMES ".$charset);
  44. $rs = @mysql_query($sql);
  45. if(!$rs)
  46. {
  47. die("");
  48. }
  49. $num = @mysql_num_rows($rs);
  50. $this->totlePage= ceil($num/$this->pageSize);
  51. $this->nowPageIndex = (isset($_POST['page']) || $_POST['page'] >= 1):$_POST['page']?1;
  52. if ($this->nowPageIndex >$this->totlePage)
  53. {
  54. $this->nowPageIndex = $this->totlePage;
  55. }
  56. $start = ($this ->nowPageIndex - 1)*$this->pageSize;
  57. mysql_free_result($rs);
  58. $sql .= "LIMIT $start,$this->pageSize";
  59. $rs = @mysql_query($sql);
  60. if(!$rs)
  61. {
  62. die("");
  63. }
  64. $rows = array();
  65. while($row = @mysql_fetch_row($rs))
  66. {
  67. $rows[] = $row;
  68. }
  69. @mysql_free_result($rs);
  70. return $rows;
  71. }
  72. /**
  73. 탐색 난초를 표시합니다.
  74. @$arg 내비게이션을 표시하는 함수를 호출하기 위한 매개변수입니다.
  75. $img1은 내비게이션 연결 이미지를 저장하는 배열입니다. show1()을 호출할 때 사용됩니다.
  76. $size는 탐색 창의 한 행에 표시되는 페이지 수입니다. show2()를 호출할 때 사용됩니다.
  77. */
  78. 공개 함수 show($arg)
  79. {
  80. $func = $this->show;
  81. $this->$func($arg) ;
  82. }
  83. /**
  84. 홈 페이지 순으로 탐색 표시 | 이전 페이지 |
  85. @$img1 홈 페이지 | 이전 페이지 | 마지막 페이지에 해당하는 이미지 경로 배열입니다. 기본값은 NULL이며, 이미지를 표시하지 않습니다.
  86. */
  87. 비공개 함수 show1($img1 = NULL)
  88. {
  89. $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
  90. $str = "
  91. < td>
  92. $str .= ">上一页
  93. 当前$this->nowPageIndex页/共$this->totlePage页";
  94. if(isset( $img) || $img != NULL)
  95. {
  96. $str .= "首页
  97. $str .= " >下一页
  98. $str .= ">末页
    ";
  99. }
  100. else
  101. {
  102. $str . = "首页>
  103. $str .= ">上一页
  104. $str .= ">下一页
  105. $str .= ">末页
  106. ";
  107. }
  108. echo $str;
  109. }
  110. /**
  111. 1|2|3|을 선택하세요. . . 탐색을 표시합니다.
  112. @$size 탐색 난초의 각 행에 표시되는 페이지 수입니다. 기본값은 10입니다.
  113. */
  114. 비공개 함수 show2($size =10)
  115. {
  116. $url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
  117. $str = "";
  118. for($index = 1 ; $index <= $this->totlePage ; $index )
  119. {
  120. $str .= "
  121. ";
  122. if($index == $size)
  123. {
  124. $str .="< ;/tr>
  125. ";
  126. }
  127. }
  128. $str .= "
  129. $str .= "$index
  130. ";
  131. echo $str;
  132. }
  133. }
  134. ?>
  135. 复主代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.