>백엔드 개발 >PHP 튜토리얼 >놓칠 수 없는 PHP 페이징 클래스(mysql)

놓칠 수 없는 PHP 페이징 클래스(mysql)

WBOY
WBOY원래의
2016-07-25 09:05:19728검색
  1. /*

  2. mysql_pager.class.php
  3. 3개의 매개변수: mysql_query() 결과, url 변수 페이지, 원하는 페이지당 레코드 수
  4. */

  5. class mysql_pager {

  6. // 속성 정의
  7. var $page> var; $result;
  8. var $results_per_page = 3;
  9. var $total_pages;

  10. /*

  11. 방법 정의

  12. 다음은 클래스와 동일한 이름을 갖는 생성자입니다(>php4). 쿼리할 결과 핸들, 현재 페이지 번호, 페이지당 레코드 수

  13. : $f->mysql_pager ($result, 1, 15);
  14. */
  15. function mysql_pager( $result, $current_page, $results_per_page ) {
  16. if(!$result){
  17. echo "
    데이터베이스가 실행되고 있지 않습니다. 결과 세트 오류< /div>n";
  18. return;
  19. }

  20. $this->result = $result;< /p>

  21. if (!$current_page || $current_page < 0)

  22. $this->page = 1
  23. else $this->page = $current_page;< ;/p>
  24. if(!emptyempty($results_per_page))

  25. $this->results_per_page = $results_per_page;

  26. $numrows = @mysql_num_rows ($this->result);

  27. if(!$numrows) {
  28. echo "
    쿼리 결과가 비어 있습니다.
    n"
  29. return;
  30. }

  31. $this->total_pages = ceil($numrows / $this->results_per_page)

  32. }

  33. < p>/*
  34. 다음은 인쇄된 내용입니다. 필요에 따라 기능을 사용하거나 확장할 수 있습니다.
  35. 여기서는 ID만 인쇄합니다.
  36. */
  37. function print_paged_results() {
  38. echo "n" ;
  39. $start = ($this->page - 1) * $this->results_per_page
  40. mysql_data_seek($this->result; , $start);
  41. $x = 0;
  42. for($i = 1; $i <= $this->results_per_page && $row = @mysql_fetch_array($this->result); $ i ) {
  43. if($x & 1) $ bgcolor = "#F2F2FF";
  44. else $bgcolor = "#EEEEEE";

  45. echo "

  46. ";
  47. // 원하는 HTML을 출력하려면 이 부분을 편집하세요
  48. }
  49. echo "
  50. ". $row[ "id"] . "
    n";
  51. }

  52. /*

  53. 다음은 페이지 번호와 링크를 출력하는 함수입니다
  54. . */
  55. function print_navigation() { 페이지 번호를 표시해야 하는 경우
  56. global $PHP_SELF;
  57. echo "
    "
  58. for($i = 1; $ i <= $this->total_pages; $i ) { #<1 2 3... $total_pages >>를 인쇄하는 루프
  59. if($i == 1 && $this-> ;페이지 > 1) # 이전 페이지로 이동하려면 먼저 <<를 인쇄합니다(1페이지가 아님)
  60. echo "페이지 - 1)."" onMouseOver="status="이전 페이지";return true ;" onMouseOut="status=" ";return true;">?";

  61. if($i == $this->page) # 링크 자체는 인쇄하지 않고 페이지 번호만 인쇄합니다.

  62. echo " /font>";

  63. if ($i != $this->page) #이 페이지가 아닌 다른 링크는 여기로 이동

  64. echo " $i ";
  65. if($i == $this->total_pages && $this->page != $this->total_pages) # 다음 페이지 링크 >> 마지막 페이지에 없음)

  66. echo "1페이지)."" onMouseOver="status="다음 페이지로 이동";return true ;" onMouseOut="status=" ";return true;">?< ;/a>"
  67. }

  68. echo "

n";
  • }
  • }

  • < p>/* 예 http://bbs.it-home.org
  • mysql_connect($server, $uname, $pass)
  • mysql_select_db("$db");
  • $result= @mysql_query ("Select * FROM table");

  • $p = new mysql_pager( $result, $page =$_GET["페이지"], 10 );

  • $p- >print_navigation()
  • $p->print_paged_results()
  • $p->print_navigation(); >*/
  • ?>

  • 코드 복사


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