php+access分页显示

来自:http://hi.baidu.com/codeq/blog/item/4c52c63293f1bd45ac4b5f04.html

<?php
/*
php链接access并分页示例,本例没有使用ODBC数据源,所以不用在服务器
上建立一个系统DSN,本例没有使用ADODB类,所以不用下载相关文件,也不
用在php.ini中进行相关的设置。
相关资料参考http://www.myvapor.com/web/index.asp
程序制作amu
以下只是做出基本例子,并没有对程序进行完善和优化。
*/
$scriptname = split('[/]',$_SERVER['SCRIPT_NAME']);
$filename = end($scriptname);//得到本页名称
$MM_Conn_STRING="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("1.mdb") ." ;DefaultDir=". realpath(".");//abc.mdb为数据库的相对路径
$Conn=new COM("ADODB.Connection");
$RS =new COM("ADODB.RecordSet");//数据集
$Conn->open($MM_Conn_STRING);//链接打开数据源
$query="select * from userinfo";
$RS->open($query,$Conn,1,1);//执行语句,返回记录集
$pagesize=$RS->Pagesize=5;//设置每页显示条数

if($RS->PageCount<>0){//防止数据库为空
if(!empty($_GET['page'])){
if($_GET['page']<=0){
$RS->AbsolutePage=1;
$nowpage=1;
}elseif($_GET['page']>$RS->PageCount){
$RS->AbsolutePage=$RS->PageCount;
$nowpage=$RS->PageCount;
}else{
$RS->AbsolutePage=$_GET['page'];
$nowpage=$_GET['page'];
}
}else{
$RS->AbsolutePage=1;
$nowpage=1;
}
}else{
$nowpage = 1;
$pagesize = 0;
}

echo "当前显示第".$nowpage."页 ";
echo "每页".$pagesize.'条 '
echo "共有".$RS->RecordCount."条记录 ";
echo "共有".$RS->PageCount."页<br> ";

echo "<table border="1" width="100%" cellpadding="1" cellspacing="1">";
echo "<tr>";
for($i=0;$i<$RS->fields->Count;$i++)
{
echo "<td>".$RS->fields[$i]->Name."</td>";//遍历字段名
}
echo "</tr>";
for ($m=1; $m<=$pagesize; $m++)//按照每页显示条数的设定进行循环
{
if (!$RS->EOF){//防止达到记录集尾产生错误
echo "<tr>";
for ($x=0; $x<$RS->fields->Count;$x++){
echo "<td>".$RS->fields[$x]->value."</td>";
}
//也可以使用下面的代码显示数据库内容
//echo "<td>".$RS->fields["n_id"]->value."</td>";
//echo "<td>".$RS->fields["n_name"]->value."</td>";
//echo "<td>".$RS->fields["n_num"]->value."</td>";
echo"</tr>";
$RS->MoveNext();
}
}
if($RS->PageCount==0){//防止数据库为空
echo "<tr><td colspan="3">没有数据</td></tr>";
}
echo "</table><br>";
if($RS->PageCount<>0){//防止数据库为空
echo "<a href="$filename?page=1">首页</a> ";
if (!($nowpage<=1)){
echo "<a href="$filename?page=".($nowpage-1)."">上一页</a> ";
}
if (!($nowpage>=$RS->PageCount)){
echo "<a href="$filename?page=".($nowpage+1)."">下一页</a> ";
}
echo "<a href="$filename?page=".$RS->PageCount."">尾页</a> ";
}
//释放资源
$Conn->Close();
$RS=NULL;
$Conn =NULL;
?>

    A+
发布日期:2009年04月14日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: