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 相关文章推荐
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
学习php分页代码实例
Oct 24 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
ThinkPHP安装和设置
Jul 27 PHP
PHP浮点数的一个常见问题
Mar 10 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
PHP+MySQL实现消息队列的方法分析
May 09 PHP
php swoft框架实例用法
Dec 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
编写PHP的安全策略
2006/10/09 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
Jquery 实现图片轮换
2015/01/28 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
Vue实现购物车功能
2017/04/27 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
实习生自我评价
2014/01/18 职场文书
经典团队口号
2014/06/06 职场文书
班级文化标语
2014/06/23 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
临时租车协议范本
2014/09/23 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
学习保证书100字
2015/02/26 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
寒假生活随笔
2015/08/15 职场文书
导游词之神仙居景区
2019/11/15 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
vue封装数字翻牌器
2022/04/20 Vue.js
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL