PHP PDO分页类

PHP PDO分页类——封装PDO分页操作,通过PDO可以统一不同数据库的操作方法,下面将对PDO操作数据库的方法进行封装,实现对数据库中数据的分页查询,并输出分页的超级链接。

PHP PDO分页类 语法

class SepPage{
    var rs;
    varpagesize;
    var nowpage;
    vararray; var conn;
    varsqlstr;
    /*
    * @ 方法说明:
    *  数据分页处理,并以数组形式返回分页信息
    *
    * @ 参数说明:
    *  sqlstr:所要执行的SQL语句
    *conn:数据库连接ID
    *  pagesize:每页显示数据的条数
    *nowpage:当前显示的页数
       */
    function ShowData(sqlstr,conn,pagesize,nowpage){   //定义方法
       if(!isset(nowpage) ||nowpage=="")                //判断变量值是否为空
            this->nowpage=1;                              //定义每页起始页
       elsethis->nowpage=nowpage;this->pagesize=pagesize;                         //定义每页输出的记录数this->conn=conn;                                 //连接数据库返回的标识this->sqlstr=sqlstr;                             //执行的查询语句offset=(this->nowpage-1)*this->pagesize;
       sql=this->sqlstr." limit offset,this->pagesize";
       result=this->conn->prepare(sql);                //准备查询语句result->execute();                                //执行查询语句,并返回结果集
       this->array=result->fetchAll(PDO::FETCH_ASSOC);  //获取结果集中的所有数据
       if(count(this->array)==0 ||this->array==false)
            return false;
       else
            return this->array;
    }
    /*
    * @ 方法说明:
    * 创建数据分页输出的超级链接
    *
    * @ 参数说明:
    *contentname:超级链接总称
    *   utits:超级链接中数据的单位
    *anothersearchstr:超级链接传递的第一个参数
    *   anothersearchstrs:超级链接传递的第二个参数
    *class:超级链接传递的样式
        */
    function ShowPage(contentname,utits,anothersearchstr,anothersearchstrs,class){str="";
        res=this->conn->prepare(this->sqlstr);       //准备查询语句res->execute();                                //执行查询语句,并返回结果集
        this->array=res->fetchAll(PDO::FETCH_ASSOC);  //获取结果集中的所有数据
        record=count(this->array);                    //统计记录总数
        pagecount=ceil(record/this->pagesize);       //计算共有几页str.=contentname." ".record." ".utits." 每页 
        ".this->pagesize." ".utits." 第 ".this->nowpage." 
页/共 ".pagecount." 页";str.="    ";
        if(this->nowpage!=1)str.="<a href="._SERVER['PHP_SELF']."?page=1&page_type=".anothersearchstr."&parameter2=".anothersearchstrs." class=".class.
            ">首页</a>";
        else
            str.="<font color='#555555'>首页</font>";str.=" ";
        if(this->nowpage!=1)str.="<a href="._SERVER['PHP_SELF']."?page=".(this-> nowpage-1).
            "&page_type=".anothersearchstr."&parameter2=".anothersearchstrs."
            class=".class.">上一页</a>";
        elsestr.="<font color='#555555'>上一页</font>";
        str.=" ";
        if(this->nowpage!=pagecount)str.="<a href="._SERVER['PHP_SELF']."?page=" .(this->nowpage+1)
            ."&page_type=".anothersearchstr."&parameter2=".anothersearchstrs."
            class=".class.">下一页</a>";
        elsestr.="<font color='#555555'>下一页</font>";
        str.=" ";
        if(this->nowpage!=pagecount)str.="<a href="._SERVER['PHP_SELF']."?page=".pagecount."&page_type=
            ".anothersearchstr."&parameter2=".anothersearchstrs." class=".class.
         ">尾页</a>";
        elsestr.="<font color='#555555'>尾页</font>";
        if(count(this->array)==0 ||this->array==false)
            return "无数据!";
        else
            return $str;
    }
}

PHP PDO分页类 示例

应用PDO分页类

对db_database02数据库的tb_commo数据表中的数据进行分页输出。载入类的实例化文件,通过分页类AdminDB的$admindb对象调用ShowData ()方法,完成数据表中数据的分页查询操作,调用ShowPage()方法输出分页超级链接。

其关键代码如下:

$connobj=new ConnDB("mysql","localhost","root","111","db_database02");
                                                      //数据库连接类实例化
$conn=$connobj->GetConnId();                          //执行连接操作,返回连接标识
$admindb=new AdminDB();                               //数据库操作类实例化
$seppage=new SepPage();                               //分页类实例化
if(isset($_GET['page'])){                             //判断分页变量是否存在
   $page=$_GET['page'];
}else{
   $page=1;
}
$res = $seppage->ShowData("select * from tb_commo ",$conn,2,$page);    //执行查询语句
for($i=0;$i<count($res);$i++){                                         //循环输出查询结果
   <table width="636" height="134" border="0" cellspacing="0" cellpadding="0">
       <tr>
        <td width="145" rowspan="5" align="center" valign="middle"><img src="<?php
        echo $res[$i]['pics'];?>" width="90" height="100" alt="<?php echo
        $res[$i]['name'];?>" style="border: 1px solid #f0f0f0;" /></td>
        <td height="35">商品名称:<?php echo $res[$i]['name'];?></td>
        <td width="156" height="35">商品类别:<?php echo $res[$i]['class'];?></td>
        <td width="157">商品型号:<?php echo $res[$i]['model'];?></td>
       </tr>
        <tr>
           <td height="25"><?php echo $seppage->ShowPage("产品","个",$_GET['page_type'],
           '',"a");?></td>
        </tr>
   </table>
<?php
}
?>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程