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生成便于打印的网页
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
PHP 事务处理数据实现代码
May 13 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
使用php实现网站验证码功能【推荐】
Feb 09 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
jquery easyui使用心得
2014/07/07 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
js实现幻灯片轮播图
2020/08/14 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python的时间模块datetime详解
2017/04/17 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
python中partial()基础用法说明
2018/12/30 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python上下文管理器全实例详解
2019/11/12 Python
django迁移文件migrations的实现
2020/03/31 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
安全生产实施方案
2014/02/23 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
竞赛口号大全
2014/06/16 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
导游词之昭君岛
2020/01/17 职场文书