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; //最后一页的页码
}
returnarrayPageInfo;
}
}
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; ibookinfos['data'] ); i ++) { //通过for循环输出数据库中的数据
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><?php echobookinfos['data'][i] ['id']; ?></td>
<td align="center" bgcolor="#FFFFFF"><?php echobookinfos['data'][i]
['typename']; ?></td>
<td align="center" bgcolor="#FFFFFF"><?php echobookinfos['data'][i]
['addtime']; ?></td>
</tr>
<?php
}
?>
<tr>
<td colspan="3" align="center" bgcolor="#FFFFFF">该类图书共 <?php echobookinfos['countRs'];?> 本 每页显示 <?php echo bookinfos
['pageSize'];?> 本 第 <?php echobookinfos['page']; ?>
页/共 <?php echo bookinfos['countPage'];?> 页
<a href="index.php?page=1" class="a1">首页</a>
<a href="index.php?page=<?php echopage-1;?>" class="a1">上一页</a>
<a href="index.php?page=<?php echo page+1;?>" class="a1">下一页</a>
<a href="index.php?page=<?php echobookinfos['countPage'];?>" class="a1">
尾页</a>
</td>
</tr>