Home  >  Article  >  php教程  >  mysql+php分页类(已测)

mysql+php分页类(已测)

WBOY
WBOYOriginal
2016-06-13 12:30:041164browse

复制代码 代码如下:


/*     
mysql_pager.class.php     

三个参数。 mysql_query()的结果, url变量page, 您要的每页记录数     
例子在这个文件底部     
淡水河边整理测试     
*/      

class mysql_pager {      
  // define properties      
  var $page;      
  var $result;      
  var $results_per_page = 3;      
  var $total_pages;        

/*       
Define the methods     

  下面是构造函数,和类同名(>php4)     
   需要查询的结果句柄,当前页码,每页记录数     
   like:  $f->mysql_pager($result, 1, 15);     
*/      

function mysql_pager( $result, $current_page, $results_per_page ) {      

    if(!$result){      
        echo "

数据库未运行,结果集错误
\n";        
        return;      
        }      

   $this->result = $result;      

   if(!$current_page || $current_page         $this->page = 1;      
   else $this->page = $current_page;      

   if(!emptyempty($results_per_page))        
      $this->results_per_page = $results_per_page;      

   $numrows = @mysql_num_rows($this->result);        
   if(!$numrows) {      
      echo "
查询结果为空.
\n";      
      return;      
      }      

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

/*       
  下面是打印内容的函数,可以不用,也可以根据自己的需要扩展     
  这里只是打印出id     
*/      

function print_paged_results() {        
    echo "\n";      
    $start = ($this->page - 1) * $this->results_per_page;      
    mysql_data_seek($this->result, $start);      
    $x = 0;      
    for($i = 1; $i results_per_page && $row = @mysql_fetch_array($this->result); $i++) {      
        if($x++ & 1) $bgcolor = "#F2F2FF";      
        else $bgcolor = "#EEEEEE";      

        echo "";            
        // 编辑这部分输出任何您想要的HTML      

        }      

       echo "
". $row["id"] . "
\n";      
}      

/*       
  下面是打印页码和链接的函数     
  在我们需要显示页码的地方调用     
*/      

function print_navigation() {      
    global $PHP_SELF;      

    echo "
";      

    for($i = 1; $i total_pages; $i++) { #loop to print >        
       if($i == 1 && $this->page > 1)  #Prints the           echo "page - 1)."\" onMouseOver=\"status="Previous Page";return true;\" onMouseOut=\"status=" ";return true;\">?";        

       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();     
*/      
?> 
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