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 相关文章推荐
第四节 构造函数和析构函数 [4]
Oct 09 PHP
php is_file 判断给定文件名是否为一个正常的文件
May 10 PHP
PHP获取表单textarea数据中的换行问题
Sep 10 PHP
rrmdir php中递归删除目录及目录下的文件
May 15 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
php接口技术实例详解
Dec 07 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 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 压缩文件夹的类代码
2009/11/05 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
Java中final关键字详解
2015/08/10 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
详解js类型判断
2018/05/22 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
python+pandas分析nginx日志的实例
2018/04/28 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
Java中实现多态的机制
2015/08/09 面试题
市政施工员自我鉴定
2014/01/15 职场文书
市政管理求职信范文
2014/05/07 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
围城读书笔记
2015/06/26 职场文书