mysql+php分页类(已测)


Posted in PHP onMarch 31, 2008
<?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(!emptyempty($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($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();      
*/       
?> 
PHP 相关文章推荐
php设计模式 Composite (组合模式)
Jun 26 PHP
PHP小教程之实现链表
Jun 09 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
PHP模板引擎Smarty内建函数详解
Apr 11 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
Oct 17 PHP
tp5.1 实现setInc字段自动加1
Oct 18 PHP
PHP强制转化的形式整理
May 22 PHP
PHP 数字左侧自动补0
Mar 31 #PHP
加强版phplib的DB类
Mar 31 #PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 #PHP
PHP5中的时间相差8小时的解决办法
Mar 28 #PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 #PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 #PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 #PHP
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
详解VUE中v-bind的基本用法
2017/07/13 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Python用threading实现多线程详解
2017/02/03 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
大学四年的个人自我评价
2014/01/14 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
治超工作实施方案
2014/05/04 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
关于环保的宣传稿
2015/07/23 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
SQL中的连接查询详解
2022/06/21 SQL Server