mysql+php分页类(已测)

   2015-11-18 0
核心提示:三个参数。 mysql_query()的结果, url变量page, 您要的每页记录数 例子在这个文件底部 淡水河边整理测试

复制代码 代码如下:

<?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)."\" on MouseOver=\"status="Previous Page";return true;\" on MouseOut=\"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\" on MouseOver=\"status="Go to Page $i";return true;\" on MouseOut=\"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)."\" on MouseOver=\"status="Go to the Next Page";return true;\" on MouseOut=\"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();     
*/      
?> 

 
标签: mysql php 分页类
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Perl操作Mysql数据库 perl操作excel
    一. 安装DBI模块步骤1:从TOOLS栏目中下载DBI.zip,下载完后用winzip解开到一个temp目录,共有三个文件:ReadmeDBI.ppdDBI.tar.gz步骤2: 在DOS窗口下,temp目录中运行下面的DOS命令:ppm install DBI.ppd 如果提示无效命令,可在perl/bin目录下运行 二. 安装DBD
    02-09
  • Nodejs+Express+Mysql实现简单用户管理增删改查
    Nodejs+Express+Mysql实现简单用户管理增删改查
     源码地址  https://github.com/king-y/NodeJs/tree/master/user目录结构  mysql.jsvar mysql = require('mysql');var pool = mysql.createPool({host : '127.0.0.1',user : 'root',password : '',database : 's79'});exports.que
    02-09
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
    PHP 使用 Swoole - TaskWorker 实现异步操作 My
    在一般的 Server 程序中都会有一些耗时的任务,比如:发送邮件、聊天服务器发送广播等。如果我们采用同步阻塞的防水去执行这些任务,那么这肯定会非常的慢。Swoole 的 TaskWorker 进程池可以用来执行一些异步的任务,而且不会影响接下来的任务,很适合处理以
    02-09
  • Mysql数据库一个小程序实现自动创建分表。
    每当跨月的时候也是系统出问题最多的时候,没有表和字段缺失是两个最常见的错误。为了解决这个问题,研究了一下mysql的 information_schema 表:information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访
    02-09
  • delphi10.3安装使用mySQL及遇到的问题(01)
    delphi10.3安装使用mySQL及遇到的问题(01)
    1】下载安装好mySQL环境2】FDConnection1的设置3】执行增删改SQL语句和查询Select语句4】客户端连接5]长文本类型,及SQLITE导出,导入到MySQL6】遇到过的问题及解决1】下载安装好mySQL环境,注意32位/64位。本篇为32位mysql32位下载链接: https://pan.baidu.c
    02-09
  • Delphi XE中使用dbExpress连接MySQL数据库疑难
    Delphi IDE中包含一个Data Explorer的组件,如下图所示:  该组件基于dbExpress(包含TSQLConnection、TSQLDataSet、TSQLQuery、TSQLStoredProc、TSQLTable、TsqlServerMethod、TSQLMonitor、TSimpleDataSet)。但是因为该组件只提供了各种数据库的抽象驱动
    02-09
  • DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境
    DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境笔者使用ubuntu64位LINUX首先必须保证LINUX可以连互联网。安装MYSQLsudo apt-get update sudo apt-get install mysql-serversudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev复制MYSQL的
    02-09
  • Centos7上安装MySQL5.5报错,/usr/bin/perl is
    今天在Centos7上安装MySQL5.5时报了如下错/usr/bin/perl is needed by MySQL-server-...按照网上的几种说法进行了尝试1、在perl官网下载perl后安装到相应的目录下,仍无法解决问题2、采用强制安装 rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm --nodeps 
    02-09
  • 用perl做数据库迁移,从MSSQL到MYSQL(三)--V1
    从前边的程序的运行情况来看,程序是可以运行的,但速度太扯了,在读写1000W条之前速度还是可以的(大概2000条/秒左右),但过了1000W之后(变成400条/秒左右),当然这个与SQL SERVER读取,网络还有服务器等性能都是有关系的,但,这速度,不晓得有测试过的
    02-09
  • R语言连接MYSQL r语言连接数据库
     操作系统:centos 6.4 64bit R语言可以使用RMySQL来连接Mysql数据库,直接使用数据库里面的数据生成图像。 这个是RMYSQL的说明:http://cran.r-project.org/web/packages/RMySQL/index.htmlRMYSQL的依赖:Depends:R (≥ 2.8.0), methods, DBI (≥ 0.2-2),
    02-09
点击排行