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 相关文章推荐
玩转虚拟域名◎+ .
Oct 09 PHP
PHP中的函数嵌套层数限制分析
Jun 13 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
php实现的mongodb操作类实例
Apr 03 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 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 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
vuex实现购物车功能
2020/06/28 Javascript
padas 生成excel 增加sheet表的实例
2018/12/11 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
Django 批量插入数据的实现方法
2020/01/12 Python
python实现翻译word表格小程序
2020/02/27 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python 字符串格式化的示例
2020/09/21 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
Java里面有没有全局变量?为什么?
2015/02/06 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
文秘专业毕业生就业推荐信
2013/11/08 职场文书
服装设计专业毕业生推荐信
2013/11/09 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
结婚保证书
2015/01/16 职场文书
留学推荐信英文范文
2015/03/26 职场文书