Home > Backend Development > PHP Tutorial > A PHP paging class (mysql) you can't miss

A PHP paging class (mysql) you can't miss

WBOY
Release: 2016-07-25 09:05:19
Original
718 people have browsed it
";
  • // Edit this part to output any HTML you want
  • }
  • echo "
    1. /*

    2. mysql_pager.class.php
    3. Three parameters: the result of mysql_query(), the url variable page, the number of records per page you want
    4. */< /p>
    5. class mysql_pager {

    6. // define properties
    7. var $page;
    8. var $result;
    9. var $results_per_page = 3;
    10. var $total_pages;

    11. /*

    12. Define the methods

    13. The following is the constructor, which has the same name as the class (>php4). It needs to query the result handle, the current page number, and the number of records per page

    14. like: $f->mysql_pager( $result, 1, 15);
    15. */
    16. function mysql_pager( $result, $current_page, $results_per_page ) {
    17. if(!$result){
    18. echo "
      The database is not running, the result set is wrong
      n";
    19. return;
    20. }

    21. $this->result = $result;

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

    23. $this->page = 1;
    24. else $this->page = $current_page;

    25. if(!emptyempty($results_per_page))

    26. $this ->results_per_page = $results_per_page;

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

    28. if(!$numrows) {
    29. echo "
      The query result is empty.
      n";
    30. return;
    31. }

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

    33. }

    34. /*

    35. The following is a function for printing content. It can be omitted or extended according to your own needs.
    36. Here we just print out the id.
    37. */
    38. function print_paged_results() {
    39. echo "< table border=0 align=center>n";
    40. $start = ($this->page - 1) * $this->results_per_page;
    41. mysql_data_seek($this->result, $start);
    42. $x = 0;
    43. for($i = 1; $i <= $this->results_per_page && $row = @mysql_fetch_array($this->result); $i++) {
    44. if($x++ & 1) $ bgcolor = "#F2F2FF";
    45. else $bgcolor = "#EEEEEE";

    46. echo "

    ". $row["id"] . "
    n";
  • }

  • < p>/*
  • The following is the function to print page numbers and links. Call
  • */
  • function print_navigation() {
  • global $PHP_SELF;
  • echo "
    ";
  • for( $i = 1; $i <= $this->total_pages; $i++) { #loop to print << 1 2 3... $total_pages >>
  • if($i == 1 && $this->page > 1) #Prints the << first to goto the previous page (not on page 1)
  • echo "?";

  • if($i == $this->page) #Doesn"t print a link itself, just prints page number

  • echo " $i
  • if($i != $this->page) #Other links that aren"t this page go here

  • echo " $i ";

  • if($i == $this->total_pages && $this->page != $this->total_pages) # Link for next page >> (not on last page)

  • echo " page + 1)."" onMouseOver="status="Go to the Next Page";return true;" onMouseOut="status=" " ;return true;">?";
  • }

  • echo "

  • n";
  • }
  • }

  • mysql_connect($server, $uname, $pass );
  • mysql_select_db("$db");
  • $result= @mysql_query("Select * FROM table" );

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

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

  • Copy code


    source:php.cn
    Previous article:A small example of php using cookies for login verification Next article:How to batch clear BOM in php files
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Latest Articles by Author
    Latest Issues
    Related Topics
    More>
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template