PHP视频教学,让你更快更轻松的掌握PHP。

查看完整版本: 分页问题

libaiyi 2008-4-14 21:20

分页问题

我这个就是看了淡水大师的分页后想用下,还是有点不明白。我的代码和数据库sql在下面

libaiyi 2008-4-14 21:22

自己顶下了

<?php     
/*   
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 "<div align=center>数据库未运行,结果集错误</div>\n";      
        return;     
        }     
      
   $this->result = $result;     
      
   if(!$current_page || $current_page < 0)      
        $this->page = 1;     
   else $this->page = $current_page;     
      
   if(!empty($results_per_page))      
      $this->results_per_page = $results_per_page;     
      
   $numrows = @mysql_num_rows($this->result);      
   if(!$numrows) {     
      echo "<div align=center>查询结果为空.</div>\n";     
      return;     
      }     
      
   $this->total_pages = ceil($numrows / $this->results_per_page);      
}     
   
/*      
  下面是打印内容的函数,可以不用,也可以根据自己的需要扩展   
  这里只是打印出id   
*/     
      
function print_paged_results() {      
    echo "<table border=0 align=center>\n";     
    $start = ($this->page - 1) * $this->results_per_page;     
    mysql_data_seek($this->result, $start);     
    $x = 0;     
    for($i = 1; $i <= $this->results_per_page && $row = @mysql_fetch_array($this->result); $i++) {     
        if($x++ & 1) $bgcolor = "#F2F2FF";     
        else $bgcolor = "#EEEEEE";     
            
        echo "<tr bgcolor=$bgcolor><td>". $row["id"] . "</td></tr>";           
        // 编辑这部分输出任何您想要的HTML     
            
        }     
      
       echo "</table>\n";     
}     
   
/*      
  下面是打印页码和链接的函数   
  在我们需要显示页码的地方调用   
*/     
   
function print_navigation() {     
    global $PHP_SELF;     
      
    echo "<div align=center>";     
         
    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 "<a href=\'$PHP_SELF?page='.($this->page - 1).'\' onMouseOver=\'status='Previous Page';return true;\' onMouseOut=\'status=' ';return true;\'>?</a>";      
      
       if($i == $this->page)  #Doesn"t print a link itself, just prints page number      
          echo "<font color=\"#ff3333\"> $i </font>";      
      
       if($i != $this->page)  #Other links that aren"t this page go here      
          echo "<a href=\'$PHP_SELF?page=$i\' onMouseOver=\'status='Go to Page $i";return true;\" onMouseOut=\'status=' ';return true;\'> $i </a>";      
      
       if($i == $this->total_pages && $this->page != $this->total_pages)  #  Link for next page >>  (not on last page)      
          echo "<a href=\'$PHP_SELF?page='.($this->page + 1).'\' onMouseOver=\'status='Go to the Next Page';return true;\' onMouseOut=\'status=' ';return true;\'>?</a>";      
       }     
            
    echo "</div>\n";      
  }     
   
}     
   
   
  mysql_connect("localhost","root","root");   
   mysql_select_db("sm");   
   $result= @mysql_query("Select * FROM sm");   
  
   $p = new mysql_pager( $result, $page=$_GET["page"], 2 );   
  $p->print_navigation();   
   $p->print_paged_results();   
  $p->print_navigation();   
     
?>  
  
我就不知道怎么把它他我自己的数据联系到一起。我以前都是用php4写的纯面向过程的。

libaiyi 2008-4-16 14:40

打家看看吧。我以前想自己写了但是以前方法和类有太差别了。

libaiyi 2008-4-16 17:51

[quote]原帖由 [i]libaiyi[/i] 于 2008-4-16 14:40 发表 [url=http://www.dophp.net/redirect.php?goto=findpost&pid=9665&ptid=1653][img]http://www.dophp.net/images/common/back.gif[/img][/url]
打家看看吧。我以前想自己写了但是以前方法和类有太差别了。 [/quote]
没人看,我可只想去了。想出来别怪我!哈哈!

libaiyi 2008-4-16 18:19

<script language="php">
echo"&#60?php ?&#62";
</script>

libaiyi 2008-4-24 11:56

我自己搞定了,淡水大师指点了下果然有效,感谢大师了。要请他吃饭的。

lxylxy8866 2008-4-24 18:06

鼓励
嘿嘿
页: [1]
查看完整版本: 分页问题