<h1>php连接Access 分页代码</h1>
</div>
<?php
/*打开数据库*/
$scriptname = split('[/]',$_SERVER['SCRIPT_NAME']);
$filename = end($scriptname);
$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("data/a.mdb") ." ;DefaultDir=". realpath(".");
$Conn=new COM("ADODB.Connection");
$RS =new COM("ADODB.RecordSet");
$Conn->open($connstr);
/*打开数据库*/
/*查询数据库*/
$article="select * from tt_ad";
$RS->open($article,$Conn,1,1);//执行语句,返回记录集
$pagesize=$RS->Pagesize=20;//设置每页显示条数
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;
}
/*查询数据库*/
?>
<div class="style_1">
<?
for ($m=1; $m<=$pagesize; $m++)//按照每页显示条数的设定进行循环
{
if (!$RS->EOF){//防止达到记录集尾产生错误
?>
<div>
<table border="1">
<tr>
<td><?
//也可以使用下面的代码显示数据库内容
echo $RS->fields["a_content"]->value." ";
?>
</td>
</tr>
<tr>
<td> <?
echo $RS->fields["a_id"]->value." ";
echo $RS->fields["a_title"]->value." ";
echo $RS->fields["a_intime"]->value." ";
?>
</td>
</tr>
</table>
</div>
<?
$RS->MoveNext();
}
}
if($RS->PageCount==0){//防止数据库为空
echo "没有数据";
}
?>
</div>
<div class="style_1">
<?
/*显示数据库*/
echo "当前显示第".$nowpage."页 ";
echo "每页".$pagesize.'条 ';
echo "共有".$RS->RecordCount."条记录 ";
echo "共有".$RS->PageCount."页 ";
?>
</div>
<div class="style_1">
<?
//防止数据库为空
if($RS->PageCount<>0){
echo "<a href=?page=1>首页</a>";
if (!($nowpage<=1)){
echo " <a href=?page=".($nowpage-1).">上一页</a> ";
}else{
echo " 上一页 ";
}
if (!($nowpage>=$RS->PageCount)){
echo " <a href=?page=".($nowpage+1).">下一页</a> ";
}
else{
echo " 下一页 ";
}
echo "<a href=?page=".$RS->PageCount.">尾页</a>";
}
?>
</div>
<?
//释放资源
$Conn->Close();
$RS=NULL;
$Conn =NULL;
?>
------------------
上面的代码只能每行显示一个图片
如何才能做到每行显示5个图片,如何加一个循环实现 每行5列
共4行
echo $RS->fields["a_content"]->value." ";
为读取的图片
echo $RS->fields["a_id"]->value." ";
echo $RS->fields["a_title"]->value." ";
echo $RS->fields["a_intime"]->value." ";
为图片说明
-----
JovenShao 的方法我试过了,每列显示图片的多少是根据浏览器的宽度决定的,不利于css控制,我想每列实现固定的个数
建议你用div写,然后控制整理宽度,也就是说你5个图片循环出来的宽度不能大于没一行的宽度,大了后,也就是第6张图的div就会从第二行开始排列了。这里设置固定的像素,就不会受浏览器的 影响。
参考这个样式代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.alldiv{
width:685px; /*137*5=685 */
}
.xunhuan {
width:137px;
float:left
}
-->
</style></head>
<body>
<div class="alldiv">
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
</div>
</body>
</html>
<?php
for ($i=0; $i<10; $i++) {
if ($i>0 && $i%5==0) {
echo "</div><div>";
}
echo "<img src='' />";
}
?>
</div>
P.S. 推荐用ul li,通过计算像素来自己换行!
这样试下