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 相关文章推荐
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
php 全局变量范围分析
Aug 07 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 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查看当前Session的ID实例
2015/03/16 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
python speech模块的使用方法
2020/09/09 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
九月份红领巾广播稿
2014/01/22 职场文书
红色旅游心得体会
2014/09/03 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
大学生党课感想
2015/08/11 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
Golang bufio详细讲解
2022/04/21 Golang
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python