ASP查询分页显示问题

luole59420 2008-06-01 11:00:54
<table width="528" border="0" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td height="25" colspan="5" bgcolor="#666666"><div align="left" class="tit"> >>以下是你查询的“<%=request.form("datename")%>”结果:</div></td>
</tr>

<tr>
<td height="15" colspan="5"><BR>
<%
dim dataname,leixing
dataname=trim(request.form("datename"))
leixing=Cint(request.Form("select"))
set rs3=server.CreateObject("adodb.recordset")
if dataname="" and leixing="" then
response.Write("<SCRIPT language=JavaScript>alert('请输入你要查询的关键字,谢谢!');history.go(-1);</script>")
end if
if leixing=1 then
sql3="select * from soft where dataname like '%"&dataname&"%' order by ID desc"
rs3.open sql3,conn,1,1
if rs3.eof and rs3.bof then
response.write "<p align='center' > 没 有 找 到 你 想 要 的 源 码!!! </p>"
else
rs3.PageSize=11
count=1
if Request("count")<>"" then
count=Cint(Request("count"))
if count<1 then
count=1
end if
if count>rs3.PageCount then
count=rs3.PageCount
end if
end if
%>
<%
if not rs3.Bof and not rs3.Eof then
rs3.ABSolutePage=count
end if
for i=1 to rs3.PageSize-1
if rs3.Eof then
exit for
end if
%>
<table width="528" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="312" height="25" bgcolor="#EEEEEE"><div align="left"><a href="<%=rs3("fname")%>" target="_blank" class="liebiao"><%=rs3("dataname")%></a></div></td>
<td width="132" bgcolor="#EEEEEE" class="pt"><%=rs3("Size")%></td>
<td width="84" bgcolor="#EEEEEE" class="pt"><%=rs3("update")%></td>
</tr>
<tr>
<td height="5" colspan="3" class="pt"> </td>
</tr>
<tr>
<td colspan="3" class="pt">    <%=left(rs3("Introduction"),120)%>...</td>
</tr>
</table>
<div align="center"><img src="images/line.gif" width="520" height="9" align="absmiddle">
<%rs3.movenext
next
end if
%>
</div></td>
</tr>
<tr>
<td height="50" colspan="5" valign="bottom">
<%
elseif leixing=2 then
sql3="select * from news where dataname like '%"&newsname&"%' order by id desc"
rs3.open sql3,conn,1,1
if rs3.eof and rs3.bof then
response.write "<p align='center'> 没 有 找 到 你 想 要 的 文 章!!! </p>"
else
rs3.PageSize=11
count=1
if Request("count")<>"" then
count=Cint(Request("count"))
if count<1 then
count=1
end if
if count>rs3.PageCount then
count=rs3.PageCount
end if
end if
%>
<%
if not rs3.Bof and not rs3.Eof then
rs3.ABSolutePage=count
end if
for i=1 to rs3.PageSize-1
if rs3.Eof then
exit for
end if
%>
<table width="528" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="444" height="25" bgcolor="#EEEEEE"><div align="left"><a href="<%=rs3("fname")%>" target="_blank" class="liebiao"><%=rs3("newsname")%></a></div></td>
<td width="84" bgcolor="#EEEEEE" class="pt"><%=rs3("update")%></td>
</tr>
<tr>
<td height="5" colspan="3" class="pt"> </td>
</tr>
<tr>
<td colspan="3" class="pt">    <%=left(rs3("Content0"),120)%>...</td>
</tr>
</table>
<div align="center"><img src="images/line.gif" width="520" height="9" align="absmiddle">
<%rs3.movenext
next
end if
end if
%>
</div></td>
</tr>
<tr>
<td height="50" colspan="5" valign="bottom">
<table width="528" border="0">
<tr>
<td><div align="right"><span class="pt">[<a href="search.asp?count=1" class="h2a">首页</a>] [<a href="search.asp?count=<%=count-1%> class="h2a">上一页</a>][<a href="search.asp?count=<%=count+1%>" class="h2a">下一页</a>][<a href="search.asp?count=<%=rs3.PageCount%>" class="h2a">尾页</a>]</span></div></td>
</tr>
</table>
</td>
</tr>
</table>

以上为我写的查询页面的代码,但是查询出来的数据很多,我想分页显示,每页显示10条数据。可是不知道该怎么写分页代码。


我想用下面的这种方法表示,可是前面的代码又该怎么改呢?


<tr>
<td><div align="right"><span class="pt">[<a href="search.asp?count=1&dataname=<%=dataname%>&leixing=<%=leixing%>" class="h2a">首页</a>] [<a href="search.asp?count=<%=count-1%>&dataname=<%=dataname%>&leixing=<%=leixing%>" class="h2a">上一页</a>][<a href="search.asp?count=<%=count+1%>&dataname=<%=dataname%>&leixing=<%=leixing%>" class="h2a">下一页</a>]
[<a href="search.asp?count=<%=rs3.PageCount%>&dataname=<%=dataname%>&leixing=<%=leixing%>" class="h2a">尾页</a>]</span></div></td>
</tr>



希望各位高手帮帮忙!!!如果有更简单的方法也帮忙介绍介绍。
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luole59420 2008-06-03
  • 打赏
  • 举报
回复
能否提供个一个类呢?谢谢
因为我是初学者,不是很了解。
dorryyang 2008-06-02
  • 打赏
  • 举报
回复
去找一个分页类来调用,非常方便。
jhwcd 2008-06-02
  • 打赏
  • 举报
回复
最好把分页程序做到一个函数里,然后放到包含文件里,使用的时候直接调用就行,不用每次都写分页程序,而且效率也高。
meimeihao98 2008-06-01
  • 打赏
  • 举报
回复
asp分页说到底就是对记录集分页 不管你是查询页面还是一般显示页面都是通过查询语句将数据库里的内容取出存放到本地记录集中分页说到底就是对这个记录集分页 下面我给出一个比较简单的例子 并说明

<%
set conn=server.createobject("adodb.connection")
conn.open("DRIVER=Driver do Microsoft Access (*.mdb);UID=admin;pwd=;dbq="&server.mappath("1.mdb"))
set rs=server.createobject("adodb.recordset")
sql="select * from student"
rs.open sql,conn,3 '比较关键如果游标类型设置错误将不能正确分页
rs.pagesize=20 '设置每页显示的条数
if request("page")<>"" then '从这句开始进入核心语句
epage=cint(request("page"))
if epage<1 then epage=1
if epage>rs.pagecount then epage=rs.pagecount
else
epage=1
end if
rs.absolutepage=epage '关键语句absolutepage属性标识当前记录所在的页码
'核心语句结束
%>
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#0000FF" width="80%" align="center">
<tr bgcolor="#FFFFFF" align="center">
<th><%=rs(0).name%></th><th><%=rs(1).name%></th><th><%=rs(2).name%></th>
</tr>
<%
for i=0 to rs.pagesize-1 '一般的循环,注意rs.pagesize-1因为记录是从0开始的
if rs.bof or rs.eof then exit for
%>
<tr bgcolor="#FFFFFF" align="center">
<td><%=rs(0).value%></td><td><%=rs(1).value%></td><td><%=rs(2).value%></td>
</tr>
<%
rs.movenext()
next '循环结束
%>
</table>
<p align="center">
<!--通过传递参数page实现分页链接-->
<a href="">首页</a> 
<a href="index.asp?page=<%=epage-1%>">前一页</a> 
<a href="index.asp?page=<%=epage+1%>">后一页</a> 
<a href="index.asp?page=<%=rs.pagecount%>">末页</a>
</p>
<p align="center">现在是第<%=epage%>页一共有<%=rs.pagecount%>页</p>
<!--分页链接end-->

<%
conn.close()
%>

楼主可以参考以上程序 修改并使用
Edwingu 2008-06-01
  • 打赏
  • 举报
回复
<%
strSQL="你的SQL"
Set rstMain = Server.CreateObject("ADODB.Recordset")
rstMain.Open strSQL,fGetCnnStr,1,1

rstMain.PageSize=10 '10条记录一页
Page=Request("Page")
If Page<>"" And IsNumeric(Page)=True Then : Page=CInt(Page) : Else : Page=1 : End if
N=rstMain.PageCount '总页数
If Page>N Then Page=CInt(N)
If rstMain.bof Or rstMain.eof Then
response.write"<tr><td algin='center' colspan='7' class='TableRow'><li>暂没有数据!</li></td></tr>"
Else
rstMain.AbsolutePage=Page
End If
i=0
Do While Not rstMain.Eof And i<rstMain.PageSize
%>
<!--你的内容-->
<%
rstMain.MoveNext
i=i+1
Loop
%>
翻页部分基本一样.目前用这种翻页代码,抛砖引玉,希望楼下提供更好的方法学习.

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧