分页功能中如何用下拉框实现分页显示?

fjbolo 2004-12-09 04:24:47
我做了一个留言板页面,从数据库中读出记录并分页显示,一切正常,分页功能的代码大致如下:
<%
on error resume next
set RSmsg=server.createobject("adodb.recordset")
RSmsg.CursorType = adOpenStatic
sql="select * from msg where flagDel=false order by AutoID desc"
RSmsg.open sql,conn,3,1 //conn已在include的文件中申明,这里省略

dim i
i=1
IF not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Then
page=1
Else
Page=Int(Abs(Request("page")))
End if
RSmsg.pagesize = 10 '这里可以更改你想每页显示的留言数量
total = RSmsg.RecordCount
mypagesize = RSmsg.pagesize
RSmsg.absolutepage = page
%>
</td>
<td> </td>
</tr>
<tr>
<td height="28"> </td>
<td style="border-top:solid 1px silver; border-bottom:solid 1px silver">
<table width="100%" border="0" cellspacing="0">
<tr>
<td width="51%"><strong><font color="#990000">当前第<%=page%>页</font></strong>    
<%if page<>1 then%>
<a href="contact_msgboard.asp?page=1">最首页</a>
<%else%>
最首页
<%end if%>
<%if page>1 then%>
<a href="contact_msgboard.asp?page=<%=page-1%>">上一页</a>
<%else%>
上一页
<%end if%>
<%
for j=1 to RSmsg.pagecount
response.write "<a href='contact_msgboard.asp?page="&j&"'>["&j&"]</a>"
next

%>
<%if page<RSmsg.pagecount then%>
<a href="contact_msgboard.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
<%if page<>RSmsg.pagecount then%>
<a href="contact_msgboard.asp?page=<%=RSmsg.pagecount%>">最末页</a>
<%else%>
最末页
<%end if%>
</td>
<td width="18%"><div align="center">共有<font color="#0000FF"><%=total%></font>个记录  共<font color="#0000FF"><%=RSmsg.pagecount%></font>页  
</div></td>
<td width="31%"> </td>
<td width="0%"> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td>
<%
do while not RSmsg.EOF and mypagesize>0
thefeedback=RSmsg("feedback")
%>
<table width="100%" border="0" cellspacing="0" style="border:solid 1px #999999">
<tr>
<td>编号:<%=RSmsg("AutoID")%></td>
</tr>
<tr>
<td>姓名:<%=RSmsg("name")%></td>
</tr>
<tr>
<td>内容:<%=RSmsg("content")%></td>
</tr>
<tr>
<td>发表时间:<%=RSmsg("inTime")%></td>
</tr>
</table>
<br>
<%if thefeedback<>"" then%>
<table width="100%" border="0" cellspacing="0">
<tr>
<td>管理员回复:<%=thefeedback%></td>
</tr>
<tr>
<td>回复时间:<%=RSmsg("fbTime")%></td>
</tr>
</table>
<%end if%>
<br> <hr color="#000000"> <br>
<%
mypagesize=mypagesize-1
i=i+1
RSmsg.movenext
loop
%>
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td>
<%
RSmsg.Close : conn.Close
Set RSmsg = Nothing : Set conn = Nothing
%>

页面上主要大致是这样显示的:当前第*页 最首页 上一页 123 下一页 最末页 共有*个记录 共*页

现在我想加一个下拉框实现分页显示的功能,让用户能直接跳转到想要去的页面,请教怎么实现?
...全文
301 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gu1dai 2004-12-20
呵呵,这个代码少gosubmit
<body>
<form action=contact_msgboard.asp method=post>
<select name="page" onChange="javascript:thisform.submit()">
<option selected>请选择</option>
<%for i=1 to rs.pagecount%>
<option value="<%=i%>">第<%=i%>页</option>
<%next%>
</select>
</form>
</body>
ok
你去用用看吧

回复
fjbolo 2004-12-09
好象不行,能在我给出的代码上改吗?
回复
wingcn 2004-12-09
<%
pagenum=request.querystring("pagenum")
if pagenum="" or pagenum=0 then pagenum=1
rs.pagesize=18
if rs.recordcount>=1 then
rs.absolutepage=pagenum
end if
%>

<body>
<select name="pagenum" onChange="javascript:submit()">
<option selected>请选择</option>
<%for i=1 to rs.pagecount%>
<option value="<%=i%>">第<%=i%>页</option>
<%next%>
</select>
</body>
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-12-09 04:24
社区公告
暂无公告