PHP ADODB分页类

PHP ADODB分页类——封装ADODB分页操作,ADODB分页类对ADODB中的方法进行封装,完成数据库中数据的分页查询和输出操作。

PHP ADODB分页类 语法

class PageDB{
   /*
     * @ 方法说明:
     *  数据分页处理,并以数组形式返回分页信息*
     * @ 参数说明:
     *  $sql:所要执行的SQL语句
     *  $connID:数据库连接ID
     *  $pageSize:每页显示数据的条数
     *  $page:当前显示的页数
    */
   function pageData ($sql, $connID, $pageSize, $page){
      $arrayPageInfo = array();                               //定义空数组
      $nowPage = $page;
      $rs = $connID->PageExecute($sql, $pageSize, $nowPage);  //执行分页查询
      $arrayData = $rs->GetRows();    //获取查询结果
      if (count($arrayData) == 0 || $rs == false) {           //判断查询结果是否为空
        return false;
      } else {
        $arrayPageInfo['data'] = $arrayData;                 //每页的数据
        $rsAll = $connID->Execute($sql);   //执行SQL语句
        $countRs = count($rsAll->GetRows());                 //统计结果集
        $countPage = ceil($countRs / $pageSize);             //计算总的页码
        $arrayPageInfo['pageSize'] = $pageSize;              //每页显示记录的条数
        $arrayPageInfo['countRs'] = $countRs;                //总记录数
        $arrayPageInfo['page'] = $nowPage;                   //当前页
        $arrayPageInfo['countPage'] = $countPage;            //总页数
        $arrayPageInfo['first'] = 1;                         //第一页的页码
        if ($page > 1) {
          $arrayPageInfo['previous'] = $rs->AbsolutePage() - 1;
                                                             //前一页的页码
        } else {
          $arrayPageInfo['previous'] = 1;
        }
         if ($page < $countPage) {
          $arrayPageInfo['next'] = $rs->AbsolutePage() + 1; //后一页的页码
        } else {
          $arrayPageInfo['next'] = $countPage;
        }
          $arrayPageInfo['last'] = $countPage;              //最后一页的页码
      }
      return $arrayPageInfo;
   }
}



PHP ADODB分页类 示例

应用ADODB分页类

对db_database02数据库中tb_bigtype数据表中的数据进行分页输出。在index.php文件中,载入类的实例化文件,通过分页类的$pageDB对象调用pageData()方法,完成数据表中数据的分页查询操作,并输出查询结果。其关键代码如下:

<?php
include("conn/config.inc.php");                         //载入类的实例化文件
if (! isset($_GET['page']) || $_GET['page'] == '') {
   $page = '1';
} else {
   $page = $_GET['page'];
}
$sql = "select * from tb_bigtype";
$bookinfos = $pageDB->pageData($sql, $conn, 10, $page);
for($i = 0; $i < count ( $bookinfos['data'] ); $i ++) { //通过for循环输出数据库中的数据
?>
  <tr>
   <td align="center" bgcolor="#FFFFFF"><?php echo $bookinfos['data'][$i] ['id']; ?></td>
   <td align="center" bgcolor="#FFFFFF"><?php echo $bookinfos['data'][$i]
   ['typename']; ?></td>
   <td align="center" bgcolor="#FFFFFF"><?php echo $bookinfos['data'][$i]
   ['addtime']; ?></td>
  </tr>
<?php
}
?>
 <tr>
   <td colspan="3" align="center" bgcolor="#FFFFFF">该类图书共 <?php echo
   $bookinfos['countRs'];?> 本  每页显示 <?php echo $bookinfos
   ['pageSize'];?> 本  第 <?php echo $bookinfos['page']; ?> 
   页/共 <?php echo $bookinfos['countPage'];?> 页    
         <a href="index.php?page=1" class="a1">首页</a> 
        <a href="index.php?page=<?php echo $page-1;?>" class="a1">上一页</a> 
        <a href="index.php?page=<?php echo $page+1;?>" class="a1">下一页</a> 
        <a href="index.php?page=<?php echo $bookinfos['countPage'];?>" class="a1">
        尾页</a>
     </td>
  </tr>
赞(0)
未经允许不得转载:极客笔记 » PHP ADODB分页类
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址