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 相关文章推荐
实用函数9
Nov 08 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
PHP多文件上传实例
Jul 09 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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
Search Engine Friendly的URL设计
2006/10/09 PHP
我的论坛源代码(四)
2006/10/09 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
详解Vite的新体验
2021/02/22 Javascript
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python迭代和迭代器详解
2016/11/10 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python实现二分查找算法
2020/09/18 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
自我鉴定模板
2013/10/29 职场文书
大四学生毕业自荐信
2013/11/07 职场文书
情人节活动策划方案
2014/02/27 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
助学感谢信范文
2015/01/21 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
Python数据类型最全知识总结
2021/05/31 Python
Python内置数据结构列表与元组示例详解
2021/08/04 Python