临沂最好眼科医院:留言本如何分页?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/26 09:38:30
留言本的显示留言页基本代码如下:
<body>
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("mylyb.mdb")
%>
<%
exec="select * from guestbook"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<table width="750" height="50" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFCC99">
<tr>
<td height="35" colspan="2" align="center"> </td>
</tr>
<tr>
<td colspan="2" align="center"><h1><strong><a href="deleteid.asp" class="lybys3">留言簿</a></strong></h1></td>
</tr>
<tr>
<td height="20">

</td>
<td height="20">
</td>
</tr>
<tr>
<td width="300"> </td>
<td>
</td>
</tr>
<tr>
<td colspan="2"><h2><a href="write.asp" class="lybys2">我要留言</a></h2></td>
</tr>
<tr>
<td height="20" colspan="2"> </td>
</tr>
</table>
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#99CCFF" class="lybys1">
<%do while not rs.eof%>
<tr>
<td colspan="2"><span class="style3">留言ID号</span>:<%=rs("ID")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">您的姓名</span>:<%=rs("name")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">您的性别</span>:<%=rs("sex")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">来自何方</span>:<%=rs("lzhf")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">电子邮件</span>:<a href="mailto:<%=rs("mail")%>" title="给我发电子邮件联系"><%=rs("mail")%></a></td>
</tr>
<tr>
<td colspan="2"><span class="style3">留言时间</span>:<%=rs("time")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">留言者IP</span>:<%=rs("ip")%></td>
</tr>
<tr>
<td colspan="2"><span class="style3">留言内容</span>:</td>
</tr>
<tr bgcolor="#FFCCCC">
<td width="91" bgcolor="#99CCFF"></td>
<td width="659" bgcolor="#99CCFF" class="lybys1"><%=rs("lynr")%></td>
</tr>
<tr>
<td colspan="2" align="center"><hr align="center" /></td>
</tr>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
</body>
就这样,应该插入哪些代码?插入的代码应该放在哪个位置?请帮忙写出来,做出效果有效可以多加分

分页技术: 我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧。
<%
exec="select * from test"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.AbsolutePage=page
%>
rs.pagesize设置一个页面里面显示的记录数,pagecount是我们自己定义的一个变量,rs.pagecount是记录的个数,page也是我们自己定义的一个变量,我们下一页的链接可以设置为list.asp?page=<%=page+1%>,下一页的链接可以设置为list.asp?page=<%=page-1%>,这样当按下链接的时候调用页面自己,page这个变量就+1或者-1了,最后我们让rs.absolutepage(当前页面)为第page页就可以了。
if request.QueryString("page")="" then page=1,这句话的作用就是我们打开list.asp的时候没有跟随page变量,自动设置为page=1,防止出错,还有当我们if....then...放在一行的时候end if可以省略。是不是分页也不难?
下面说一种特殊情况:
if page=1 and not page=pagecount,这个时候没有上一页,但是有下一页
elseif page=pagecount and not page=1,这个时候没有下一页,但是有上一页
elseif page<1,这个时候没有任何记录
elseif page>pagecount then,这个时候没有任何记录
elseif page=1 and page=pagecount,这个时候没有上一页,没有下一页
else,这个时候有上一页,也有下一页。
下面看一段显示1到n页,且每一个数字点击以后就出现这个数在代表的页面的代码,很常见哦。
<%for i=1 to pagecount%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next是循环从i=1开始,循环一次加1到pagecount为止。

不好意思,看不懂