请教如何分页显示:上一页[1][2][3][4]下一页.....

coogege 2003-07-10 07:40:15
如题
...全文
525 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coogege 2003-07-13
  • 打赏
  • 举报
回复
补充一句,我要给大家分数,怎么提示:

10,0,0,20,0,50,10,10,0,0
贴子回复次数大于跟给分次数

这是为啥
Jaron 2003-07-13
  • 打赏
  • 举报
回复
'用法
response.write ExportPageInfo(总页数,总记录数,当前页数,每页记录数,当前页记录数,链接)

Function ExportPageInfo(ByRef PageCount,RecordCount,CurrentPage,PageSize,i,LinkFile)
Dim retval, j, pageNumber, BasePage
If CurrentPage = "" Then currentpage = 1 else currentpage = cint(CurrentPage)
retval = "第" & CurrentPage & "页/共" & PageCount & "页 "
retval = retval & "本页" & i & "条/共" & RecordCount & "条 "
If CurrentPage = 1 Then
retval = retval & "首页 前页 "
Else
retval = retval & "<a href='" & LinkFile & "page=1'>首页</a> <a href='" & LinkFile & "page=" & cstr(CurrentPage - 1) & "'>前页</a> "
End If
If CurrentPage = PageCount Then
retval = retval & "后页 末页"
Else
retval = retval & "<a href='" & LinkFile & "page=" & cstr(CurrentPage + 1) & "'>后页</a> <a href='" & LinkFile & "page=" & cstr(PageCount) & "'>末页</a>"
End if
retval = retval & " | "
BasePage = (CurrentPage \ 10) * 10
If BasePage > 0 Then retval = retval & " <a href='" & LinkFile & "page=" & (BasePage - 9) & "'><<</a>"
For j = 1 to 10
pageNumber = BasePage + j
If PageNumber > pagecount Then Exit For
If pageNumber = Cint(CurrentPage) Then
retval = retval & " <font color='#FF0000'>" & pageNumber & "</font>"
Else
retval = retval & " <a href='" & LinkFile & "page=" & pageNumber & "'>" & pageNumber & "</a>"
End If
Next
if PageCount < BasePage + 11 then
retval = retval & " >>"
else
If pagecount > BasePage Then retval = retval & " <a href='" & LinkFile & "page=" & (BasePage + 11) & "'>>></a>"
end if
ExportPageInfo = retval
End Function
coogege 2003-07-13
  • 打赏
  • 举报
回复
这里还有一个具体问题就是
我检索了几个不同的表,表1里面可能有1000条记录,表2里面有2000条记录
我现在的做法是表1 里面搜索结果显示10条,表2里面显示10条。合起来就是每页20条记录

这怎么运用以上各位大哥的分页呢。
yanfeng 2003-07-10
  • 打赏
  • 举报
回复
分页程序:
<%if request.querystring("page")="" then : page=1 '开始的时候从第一页显示
else : page=cint(request.querystring("page")) '得到网址中的页数 page=?
end if
set link1=server.createobject("ADODB.Connection") '连接数据库
link1.open "Provider=SQLOLEDB;network library=dbmssocn; Initial Catalog=excel;Data Source=127.0.0.1,1433"
set rs=server.createobject("adodb.recordset") : rs.open "select * from men",link1,1,1
'使用 PageSize 属性可将 Recordset 对象逻辑划分为一系列的页,每页的记录数等于 PageSize(最后页除外)。
'使用 AbsolutePage 用于控制、识别当前记录所在的页码。AbsolutePosition 获取当时所在页信息
'从 PageCount 属性中可获得总页数。
rs.pagesize=3 : rs.AbsolutePage=page '每一页显示的记录的个数,可以通过变量加以控制
%>
<base target='_blank'><!--使内容在新窗口弹出数据库中得网址--><table border=1>
<%for i=0 to rs.pagesize-1 '显示具体的数据内容了,i+(page*rs.pagesize-rs.pagesize)+1 这个解决分页后显示具体的编号
if rs.eof then exit for
response.write "<tr><Td>" & i+(page*rs.pagesize-rs.pagesize)+1 & ":<A href='" & rs("url") & "'>" _
& rs("year") & "</a></td></tr>"
rs.movenext
next%>
<tr><Td align=right><base target='_top'>
<!--使分页连接不在新窗口弹出,以下是我要着重讲的完美分页程序的完整程序了,您可根据需要修改-->
<%
pagelen=split(request.ServerVariables("Query_String"),"&") '得到网址 ?号后面的参数网址
if UBound(pagelen)<1 then '如果网址是 xxx.asp?page=1 或 xxx.asp 类型的则用标准的分页方法
if page>1 then response.write "<A href='fenye.asp?page=1'>首页</a> <a href='fenye.asp?page=" _
& page-1 & "'>上页</a> ":else:response.write "首页 上页 "
if page<rs.pagecount then response.write "<a href='fenye.asp?page=" & page+1 & "'>下页</a> <a href='fenye.asp?page=" & rs.pagecount & "'>尾页</a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "<A href='fenye.asp?page=" & i & "'>" & i & "</a> "
next
else '如果网址是 xxx.asp?str1=参数&page=1 的类型则进行其他分页方法
if page>1 then response.write "<A href='fenye.asp?" & pagelen(0) & "&page=1'>首页</a> <a href='fenye.asp?" & pagelen(0) & "&page=" & page-1 & "'>上页</a> ":else:response.write "首页 上页 "
if page<rs.pagecount then response.write "<a href='a.asp?" & pagelen(0) & "&page=" & page+1 & "'> _
下页</a> <a href='fenye.asp?" & pagelen(0) & "&page=" & rs.pagecount & "'> _
尾页</a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "<A href='a.asp?" & pagelen(0) _
& "&page=" & i & "'>" & i & "</a> "
next
end if 'pagelen(0)等于 str1=参数 ,pagelen(1)等于 page=1
rs.close : set rs=nothing
link1.close : set link1=nothing%>
yanfeng 2003-07-10
  • 打赏
  • 举报
回复
分页程序:
<%if request.querystring("page")="" then : page=1 '开始的时候从第一页显示
else : page=cint(request.querystring("page")) '得到网址中的页数 page=?
end if
set link1=server.createobject("ADODB.Connection") '连接数据库
link1.open "Provider=SQLOLEDB;network library=dbmssocn; Initial Catalog=excel;Data Source=127.0.0.1,1433"
set rs=server.createobject("adodb.recordset") : rs.open "select * from men",link1,1,1
'使用 PageSize 属性可将 Recordset 对象逻辑划分为一系列的页,每页的记录数等于 PageSize(最后页除外)。
'使用 AbsolutePage 用于控制、识别当前记录所在的页码。AbsolutePosition 获取当时所在页信息
'从 PageCount 属性中可获得总页数。
rs.pagesize=3 : rs.AbsolutePage=page '每一页显示的记录的个数,可以通过变量加以控制
%>
<base target='_blank'><!--使内容在新窗口弹出数据库中得网址--><table border=1>
<%for i=0 to rs.pagesize-1 '显示具体的数据内容了,i+(page*rs.pagesize-rs.pagesize)+1 这个解决分页后显示具体的编号
if rs.eof then exit for
response.write "<tr><Td>" & i+(page*rs.pagesize-rs.pagesize)+1 & ":<A href='" & rs("url") & "'>" _
& rs("year") & "</a></td></tr>"
rs.movenext
next%>
<tr><Td align=right><base target='_top'>
<!--使分页连接不在新窗口弹出,以下是我要着重讲的完美分页程序的完整程序了,您可根据需要修改-->
<%
pagelen=split(request.ServerVariables("Query_String"),"&") '得到网址 ?号后面的参数网址
if UBound(pagelen)<1 then '如果网址是 xxx.asp?page=1 或 xxx.asp 类型的则用标准的分页方法
if page>1 then response.write "<A href='fenye.asp?page=1'>首页</a> <a href='fenye.asp?page=" _
& page-1 & "'>上页</a> ":else:response.write "首页 上页 "
if page<rs.pagecount then response.write "<a href='fenye.asp?page=" & page+1 & "'>下页</a> <a href='fenye.asp?page=" & rs.pagecount & "'>尾页</a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "<A href='fenye.asp?page=" & i & "'>" & i & "</a> "
next
else '如果网址是 xxx.asp?str1=参数&page=1 的类型则进行其他分页方法
if page>1 then response.write "<A href='fenye.asp?" & pagelen(0) & "&page=1'>首页</a> <a href='fenye.asp?" & pagelen(0) & "&page=" & page-1 & "'>上页</a> ":else:response.write "首页 上页 "
if page<rs.pagecount then response.write "<a href='a.asp?" & pagelen(0) & "&page=" & page+1 & "'> _
下页</a> <a href='fenye.asp?" & pagelen(0) & "&page=" & rs.pagecount & "'> _
尾页</a> ":else:response.write "下页 尾页 "
for i=1 to rs.pagecount
if i=page then response.write i & " ":else:response.write "<A href='a.asp?" & pagelen(0) _
& "&page=" & i & "'>" & i & "</a> "
next
end if 'pagelen(0)等于 str1=参数 ,pagelen(1)等于 page=1
rs.close : set rs=nothing
link1.close : set link1=nothing%>
wanghr100 2003-07-10
  • 打赏
  • 举报
回复
共有<%=Rlt.Pagecount%>页
<%=Rlt.Recordcount%>条纪录
页号:<% For I=1 To Rlt.Pagecount% >
<%cid=rlt("product_id")
<AHref="Prodpage.Asp?Pcnt=<%=I% >&id=<%=cid%>>
<%=I%>.</A>
<%Next%>
</A>
<Hr>
<%Rlt.Pagesize=20%>
zhonggan 2003-07-10
  • 打赏
  • 举报
回复
<%
page=Request("page")
if page=0 or page="" then
page=1
end if
RecordCount = 0
do while not rs.Eof
RecordCount = RecordCount +1
rs.MoveNext
loop
if not RecordCount=0 then
rs.MoveFirst
end if
pageCount=RecordCount/10
pageCount=int(pageCount)
if (RecordCount mod 10)>0 then
PageCount=PageCount +1
end if
%>

<% if not rs.eof then
rs.movefirst
do while pos<(page-1)*10
pos=pos+1
rs.MoveNext
loop
i=0
x=0
do while x<10 and not rs.eof %>



<%
i=i+1
x=x+1
rs.movenext
loop
rs.close
end if
%>


<% response.write "页码:"
y=1
do while y<pagecount+1
response.write "<a href='页.asp?page=" &y& "'>["&y&"]</a>"
y=y+1
loop%>




健叶新吉橙 2003-07-10
  • 打赏
  • 举报
回复
分頁有問題可以找我OK
健叶新吉橙 2003-07-10
  • 打赏
  • 举报
回复
adoRs.open sqlStr,adoCon,3

If adoRs.Eof Then
adoRsEof=1
Else
' 分頁
adoRs.PageSize=14 '每頁記錄數
rec=adoRs.pagecount
nPage=Request("nPage") '接受參數
If len(nPage)=0 then nPage=1 Else nPage=CInt(Request("nPage"))
If cInt(nPage)<1 then nPage=1
If cInt(nPage)>rec then nPage=rec
adoRs.AbsolutePage=nPage
End If

'你可以依據總頁數adoRs.pagecount改成"1 2 3 4 5 6"的方式OK
'首頁=============================================================
<input style="width: 52; height: 20" type="button" value="首頁" id="but1" OnClick="VbScript:Window.Navigate '<%=aspSelf%>?nPage=1'" <% If nPage=1 Then Response.Write "Disabled" %>>
'上頁=============================================================
<input style="width: 50; height: 20" type="button" value="上頁" id="but2" OnClick="VbScript:Window.Navigate '<%=aspSelf%>?nPage=<%=nPage-1%>'" <% If nPage=1 Then Response.Write "Disabled" %>>
'下頁=============================================================

<input style="width: 50; height: 20" type="button" value="下頁" id="but3" OnClick="VbScript:Window.Navigate '<%=aspSelf%>?nPage=<%=nPage+1%>'" <% If (AdoRs.Eof) or (clng(nPage)=rec) Then Response.Write "disabled"%>>
'尾頁=============================================================
<input style="width: 50; height: 20" type="button" value="尾頁" id="but4" OnClick="VbScript:Window.Navigate '<%=aspSelf%>?nPage=<%=rec%>'" <% If (AdoRs.Eof) or (clng(nPage)=rec) Then Response.Write "disabled"%>>
kenisnet 2003-07-10
  • 打赏
  • 举报
回复
根据条目数和每页显示数,确定页码数,写一个for,确定每一页传的page值
hahacc 2003-07-10
  • 打赏
  • 举报
回复
页面顶端用request.querystring("page")
中间的分页设置跟普通的分页设置一样
hahacc 2003-07-10
  • 打赏
  • 举报
回复
回答这个问题之前先问问你会不会分页?
我的回答很简单:
设置page变量。一一对应:[1][2][3][4]
点击1 <a href=xxx.asp?page=1>
点击2 <a href=xxx.asp?page=2>
点击3 <a href=xxx.asp?page=3>
……

28,407

社区成员

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

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