Heim  >  Artikel  >  php教程  >  mysql+php分页类(已测)

mysql+php分页类(已测)

WBOY
WBOYOriginal
2016-06-13 12:30:041169Durchsuche

复制代码 代码如下:


/*     
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();     
*/      
?> 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Dedecms常用函数解析Nächster Artikel:PHP5 面向对象程序设计