Home >Backend Development >PHP Tutorial >A php+mysql paging class code

A php+mysql paging class code

WBOY
WBOYOriginal
2016-07-25 08:52:471315browse
  1. /************************************

  2. Class name: pagesupport
  3. Function: Display data in the mysql database in pages
  4. *************************************/
  5. class pagesupport{
  6. //Attributes
  7. var $sql;//SQL query statement of the data to be displayed
  8. var $page_size; //The maximum number of rows displayed on each page
  9. var $start_index; //The serial number of the first row of the record to be displayed
  10. var $total_records; //Total number of records
  11. var $current_records; //The number of records read on this page
  12. var $result ;//Reading results
  13. var $total_pages;//Total number of pages
  14. var $current_page;//Current page number
  15. var $display_count = 30; //The number of previous and next pages displayed
  16. var $arr_page_query; //Array containing the parameters that need to be passed for paging display
  17. var $first;
  18. var $prev;
  19. var $next;
  20. var $last;
  21. //Method
  22. /*********************************************
  23. Constructor: __construct()
  24. Input parameters:
  25. $ppage_size: Maximum number of lines displayed per page
  26. ****************************************** ************/
  27. function PageSupport($ppage_size)
  28. {
  29. $this->page_size=$ppage_size;
  30. $this->start_index=0;
  31. }

  32. /*********************************************

  33. Constructor: __destruct()
  34. Input parameters:
  35. ************************************************ **/
  36. function __destruct()
  37. {
  38. }
  39. /*******************************************
  40. get function: __get()
  41. ***********************************************/
  42. function __get($property_name)
  43. {
  44. if(isset($this->$property_name))
  45. {
  46. return($this-> ;$property_name);
  47. }
  48. else
  49. {
  50. return(NULL);
  51. }
  52. }
  53. /*******************************************
  54. set function: __set()
  55. ***********************************************/
  56. function __set($property_name, $value)
  57. {
  58. $this->$ property_name = $value;
  59. }
  60. /*********************************************
  61. Function name: read_data
  62. Function : Read the corresponding records from the table according to the SQL query statement
  63. Return value: Attribute two-dimensional array result [record number] [field name]
  64. ************************ ****************************/
  65. function read_data()
  66. {
  67. $psql=$this->sql;
  68. //Query data, database link and other information should be called in the class External implementation of
  69. $result=mysql_query($psql) or die(mysql_error());
  70. $this->total_records=mysql_num_rows($result);
  71. //Use the LIMIT keyword to get the records to be displayed on this page
  72. if($this->total_records>0)
  73. {
  74. $this->start_index = ($this->current_page-1)*$this->page_size;
  75. $psql=$psql." LIMIT ". $this->start_index." , ".$this->page_size;
  76. $result=mysql_query($psql) or die(mysql_error());
  77. $this->current_records=mysql_num_rows($result);
  78. //Put the query results in the result array
  79. $i=0;
  80. while($row=mysql_fetch_Array($result))
  81. {
  82. $this->result[$i]=$row;
  83. $i++ ;
  84. }
  85. }
  86. //Get the total number of pages and current page information
  87. $this->total_pages=ceil($this->total_records/$this->page_size);
  88. $this->first= 1;
  89. $this->prev=$this->current_page-1;
  90. $this->next=$this->current_page+1;
  91. $this->last=$this->total_pages ;
  92. }
  93. /*******************************************
  94. Function name: standard_navigate()
  95. Function: Display homepage, next page, previous page, and next page
  96. ****************************************** ************/
  97. function standard_navigate()
  98. {
  99. echo "
    ";
  100. echo "
    ";
  101. echo "Page".$this->current_page."Pages/Total".$this->total_pages. "Page";
  102. echo "";
  103. echo "Jump toPage";
  104. echo "";
  105. //Generate navigation link
  106. if ($this->current_page > 1) {
  107. echo "Homepage|";
  108. echo "Previous page|";
  109. }
  110. if( $this->current_page < $this->total_pages) {
  111. echo "下一页|";
  112. echo "末页";
  113. }
  114. echo "";
  115. echo "
";
  • }
  • /*******************************************
  • Function name: full_navigate()
  • Function: Display homepage, next page, previous page, and next page
  • Generate navigation links such as 1 2 3... 10 11
  • ********************** *************************/
  • function full_navigate()
  • {
  • echo "
    ";
  • echo "
    ";
  • echo "第".$this->current_page."页/共".$this->total_pages."页";
  • echo "";
  • echo "跳到页";
  • echo "";
  • //生成导航链接 如1 2 3 ... 10 11
  • $front_start = 1;
  • if($this->current_page > $this->display_count){
  • $front_start = $this->current_page - $this->display_count;
  • }
  • for($i=$front_start;$i<$this->current_page;$i++){
  • echo "[".$i ."] ";
  • }
  • echo "[".$this->current_page."]";
  • $displayCount = $this->display_count;
  • if($this->total_pages > $displayCount&&($this->current_page+$displayCount)<$this->total_pages){
  • $displayCount = $this->current_page+$displayCount;
  • }else{
  • $displayCount = $this->total_pages;
  • }
  • for($i=$this->current_page+1;$i<=$displayCount;$i++){
  • echo "[".$i ."] ";
  • }
  • //生成导航链接
  • if ($this->current_page > 1) {
  • echo "首页|";
  • echo "上一页|";
  • }
  • if( $this->current_page < $this->total_pages) {
  • echo "下一页|";
  • echo "末页";
  • }
  • echo "";
  • echo "
  • ";
  • }
  • }
  • ?>

  • 复制代码

    Paging class usage:

    1. include_once("fenye_php.php"); //Introduce class
    2. ///////// ////////////////////////////////////////////////////// ////////////
    3. $con = mysql_connect("localhost","root","");
    4. if (!$con)
    5. {
    6. die('Could not connect: ' . mysql_error ());
    7. }

    8. mysql_select_db("myblog", $con);//Select the database

    9. $PAGE_SIZE=10;//Set the number displayed on each page
    10. //// ////////////////////////////////////////////////////// //////////////////
    11. $pageSupport = new PageSupport($PAGE_SIZE); //Instantiate PageSupport object
    12. $current_page=$_GET["current_page"];//Page current Number of pages
    13. if (isset($current_page)) {
    14. $pageSupport->__set("current_page",$current_page);
    15. } else {
    16. $pageSupport->__set("current_page",1);
    17. }
    18. $pageSupport->__set("sql","select * from article ");
    19. $pageSupport->read_data();//Read data
    20. if ($pageSupport->current_records > 0) // If the data is not empty, assemble the data
    21. {
    22. for ($i=0; $i<$pageSupport->current_records; $i++)
    23. {
    24. $title = $pageSupport->result[$i][" title"];
    25. $content = $pageSupport->result[$i]["content"];
    26. $part=substr($content,0,400);
    27. //Loop out each piece of data
    28. echo '< div class="index_side">
    29. '.$title.'
    30. '.$part.'
    31. update delet
  • ';
  • }
  • }
  • $pageSupport->standard_navigate(); //Call this function in the class to display paging HTML
  • //Close the database
  • mysql_close($con);
  • ?> ;
  • Copy code


  • Statement:
    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