ASP 分页问题

<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%><metahttp-equiv="Content-Type"content="text/h... <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<% Sub ShowList() %>
<%
PgSz=3'设定开关,指定每一页所显示的帖子数目,默认为20帖一页
Set Conn = Server.CreateObject("ADODB.Connection")
Con.Open="Driver={SQL Server};Server=10.139.1.11;Uid=luolzs;Pwd=luolzs;Database=JTS-C"
Set RS = Server.CreateObject("ADODB.RecordSet")
sql = "select *from userinfo"
'查询所有帖子,并按帖子的ID倒序排列
RS.open sql,Conn,1,1
If RS.RecordCount=0 then
response.write "<P><center>对不起,数据库中没有相关信息!</center></P>"
else
RS.PageSize = Cint(PgSz) '设定PageSize属性的值
Total=INT(RS.recordcount / PgSz * -1)*-1 '计算可显示页面的总数
PageNo=Request("pageno")
if PageNo="" Then
PageNo = 1
else
PageNo=PageNo+1
PageNo=PageNo-1
end if
ScrollAction = Request("ScrollAction")
if ScrollAction="上一页" Then
PageNo=PageNo-1
end if
if ScrollAction="下一页" Then
PageNo=PageNo+1
end if
if PageNo<1 Then
PageNo= 1
end if
n=1
RS.AbsolutePage=PageNo
Response.Write "<CENTER>"
position=RS.PageSize*PageNo
pagebegin=position-RS.PageSize+1
if position < RS.RecordCount then
pagend=position
else
pagend= RS.RecordCount
end if
Response.Write "<P><font color=\'Navy\'><B>数据库查询结果< /B>"
Response.Write "(共有"&RS.RecordCount &"条符合条件的信息,显示"&pagebegin&"-"&pagend&")</font></p>"
Response.Write "<TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"
Do while not (RS is nothing)
RowCount = RS.PageSize
Do While Not RS.EOF and rowcount >0
If n=1 then
Response.Write "<TR BGCOLOR=#FFFFFF>"
ELSE
Response.Write "<TR BGCOLOR=#EEEEEE>"
End If
n=1-n %>
<TD><span style="font-size:9pt"><%=RS("subject")%><span></td>
<TD><span style="font-size:9pt"><%=RS("name")%></span>< /td>
<TD><span style="font-size:9pt"><%=RS("date")%></span>< /td>
</TR>
<%
RowCount = RowCount - 1
RS.MoveNext
Loop
set RS = RS.NextRecordSet
Loop
Conn.Close
set rs = nothing
set Conn = nothing
%>
</TABLE>
<FORM METHOD=GET ACTION="list.asp">
<INPUT TYPE="HIDDEN" NAME="pageno" VALUE="<%=PageNo %>">
<%
if PageNo >1 Then
response.write "<INPUT TYPE=SUBMIT NAME=\'ScrollAction\' VALUE=\' 上一页 \'>"
end if
if RowCount = 0 and PageNo <>Total then
response.write "<INPUT TYPE=SUBMIT NAME=\'ScrollAction\' VALUE=\' 下一页 \'>"
end if
response.write "</FORM>"
End if
%>
<% End Sub %>
展开
 我来答
百度网友2fa8b9d
2010-07-22 · TA获得超过810个赞
知道小有建树答主
回答量:559
采纳率:0%
帮助的人:633万
展开全部
给我一直在用的一个分页函数给你

'PID 页面中的其它传参连接
'page 要显示的页码
'Vcount 总记录数
'Pnum 每页记录数
'className 超连接样式
public function ThePage(Pid,page,Vcount,Pnum,className)
dim show
page = int(page)
Pcount = abs(int(-abs(Vcount/Pnum)))
if page = "" or page <= 0 then page = 1
if page>Pcount then page=Pcount
StartPageNum=1
do while StartPageNum+10<=page
StartPageNum=StartPageNum+10
Loop
EndPageNum=StartPageNum+9

If EndPageNum>Pcount then EndPageNum=Pcount
show = show&"<tr><td colspan='10' bgcolor='' align='right' style='padding-right:25px;padding-top:5px;' class='"&className&"'>"
show = show&"共<b>"&Pcount&"</b>页 共有<b>"&Vcount&"</b>记录 第<b>"&page&"</b>页 跳到第 [ "
if StartPageNum>1 then
show = show&"<a class='"&className&"' href='?"&Pid&"page="&StartPageNum-1&"' title='前十页'><font face='webdings'>7</font></a>"
end if
For go=StartPageNum to EndPageNum

if go<>page then
show = show&"<a class='"&className&"' href='?"&Pid&"page="&go&"'>"&go&"</a>"
else
show = show&"<b>"&go&"</b>"
end if
show = show&" "
Next

if EndPageNum<Pcount then
show = show&"<a class='"&className&"' href='?"&Pid&"page="&EndPageNum+1&"' title='下十页'><font face='webdings'>8</font></a>"
end if
show = show& "] 页"

if page<>1 then
show = show&"<a class='"&className&"' href='?"&Pid&"page=1'> 首页</a> <a class='"&className&"' href='?"&Pid&"page="&page-1&"'>上一页</a>"
end if

if Pcount-page <> 0 then
show = show& "<a class='"&className&"' href='?"&Pid&"page="&page+1&"'> 下一页</a> <a class='"&className&"' href='?"&Pid&"page="&Pcount&"'>尾页</a>"
end if
show=show&"</tr></td>"
ThePage = show
end function

=====================使用示例============================
<%
'分页参数设置
sql = "select * from [guestbook] order by orderid,id desc"
page = GQ("page",1)
page = int(page)
Pnum = 15
className = "lwf"
PID = ""
'以下不变
set rs = DB.S(SQL,1)
Vcount = RS.recordcount
if RS.recordcount <> 0 then
RS.absoluteposition=RS.absoluteposition+((abs(page)-1)*Pnum)
end if

'********************************
i = 1
while not RS.eof and i<=Pnum

%>
<tr>
<td width="3%" height="25" align="center"><img src="images/ico1.jpg" width="6" height="6" /></td>
<td align="left" class="other_font5"><%=rs("title")%></td>
</tr>
<tr>
<td class="other_font9"> </td>
<td class="other_font9"><%=rs("contents")%></td>
</tr>

<%
rs.movenext
i = i + 1
wend
rs.close
set rs = nothing
%>
<%=ThePage(Pid,page,Vcount,Pnum,className)%>
香香咸蛋黄
推荐于2016-03-17 · TA获得超过783个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:202万
展开全部
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
PgSz=3'设定每一页所显示的帖子数目
PgCt=0'初始化总页数
PgRc=0'初始化总记录数

'获取当前页码
PageNo=Request("pageno")
if PageNo="" or Isnumeric(PageNo)=false Then PageNo = 1
PageNo=Cint(PageNo)
'防止出现负值页数
if PageNo<1 Then PageNo=1
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<table width="100%" border="1">
<tr>
<TD>subject</td>
<TD>name</td>
<TD>date</td>
</tr>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open="Driver={SQL Server};Server=10.139.1.11;Uid=luolzs;Pwd=luolzs;Database=JTS-C"
Set RS = Server.CreateObject("ADODB.RecordSet")
sql = "select * from userinfo"
'查询所有帖子,并按帖子的ID倒序排列
RS.open sql,Conn,1,1
If rs.bof or rs.eof then
%>
<tr>
<TD colspan="3" align="center">对不起,数据库中没有相关信息!</td>
</tr>
<%
else
PgRc=rs.recordcount '将总记录数存入变量
RS.PageSize = Cint(PgSz) '设定PageSize属性的值
PgCt=rs.pagecount '根据设定PageSize属性的值返回总页数并存入变量

'防止获取的页数大于实际页数
if PageNo>PgCt then PageNo=PgCt

'将记录指针移到指定页的第一行
rs.absolutepage=PageNo
end if
i=1
do while not ( rs.eof or rs.bof )
%>
<tr>
<TD><span style="font-size:9pt"><%=RS("subject")%></span></td>
<TD><span style="font-size:9pt"><%=RS("name")%></span></td>
<TD><span style="font-size:9pt"><%=RS("date")%></span></td>
</tr>
<%
if i>=PgSz then exit do '当显示记录数达到设定值时退出循环
i=i+1
rs.movenext
loop
rs.close
set rs=nothing
%>
</table>
<table width="100%" border="1">
<tr>
<td>共有记录<%= PgRc %> 每页<%= PgSz %> 共有<%= PgCt %>页 当前<%= PageNo %>页<% If PageNo<=1 Then %>&lt;上一页<% Else %><a href="?pageno=<%= PageNo-1 %>">&lt;上一页</a><% End If %> <% If PageNo>=PgCt Then %>下一页&gt;<% Else %><a href="?pageno=<%= PageNo+1 %>">下一页&gt;</a><% End If %></td>
</tr>
</table>
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式