首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp分页显示有关问题-

2012-03-04 
asp分页显示问题---在线等给出分页显示的思路就可以如果能详细些或付部分主要代码更好先多谢各位大侠了[解

asp分页显示问题---在线等
给出分页显示的思路就可以   如果能详细些或付部分主要代码更好   先多谢各位大侠了

[解决办法]
<%
Const MaxPerPage=20
dim totalPut
dim CurrentPage
dim TotalPages
dim j
dim sql
if request( "page ") <> " " then
currentPage=Cint(request( "page "))
else
currentPage=1
end if
set rs=server.CreateObject( "adodb.recordset ")
if request( "keyword ")= " " then
sql= "select * from Adcraft order by id desc "
else
sql= "select * from Adcraft where "&request( "search ")& " like '% "&request( "keyword ")& "% ' order by id desc "
end if
rs.open sql,conn,3,3
if err.number <> 0 then
response.write "数据库中暂时无数据 "
end if

if rs.eof And rs.bof then
Response.Write " <p align= 'center ' class= 'contents '> 数据库中暂时无数据! </p> "
else
totalPut=rs.recordcount

if currentpage <1 then
currentpage=1
end if

if (currentpage-1)*MaxPerPage> totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if

if currentPage=1 then
showContent
showpage totalput,MaxPerPage, "Manage.asp "
else
if (currentPage-1)*MaxPerPage <totalPut then
rs.move (currentPage-1)*MaxPerPage
dim bookmark
bookmark=rs.bookmark
showContent
showpage totalput,MaxPerPage, "Manage.asp "
else
currentPage=1
showContent
showpage totalput,MaxPerPage, "Manage.asp "
end if
end if
end if

sub showContent
dim i
i=0%>
<%
mj=0
do while not rs.eof
mj=mj+1
%>


在里放上循环体~~~~~~~~~~~~~~~~~


<%i=i+1
if i> =MaxPerPage then Exit Do
rs.movenext
loop
rs.close
set rs=nothing%>
<% End Sub
Function showpage(totalnumber,maxperpage,filename)
Dim n

If totalnumber Mod maxperpage=0 Then
n= totalnumber \ maxperpage
Else
n= totalnumber \ maxperpage+1
End If

Response.Write " <form method=Post action= "&filename& "?star= "&request( "star ")& "> "
Response.Write " <p align= 'center ' class= 'contents '> "
If CurrentPage <2 Then
Response.Write " <font class= 'contents '> 首 页 上一页 </font> "
Else
Response.Write " <a href= "&filename& "?star= "&request( "star ")& "&type= "&request( "type ")& "&page=1 class= 'contents '> 首 页 </a> "
Response.Write " <a href= "&filename& "?star= "&request( "star ")& "&type= "&request( "type ")& "&page= "&CurrentPage-1& " class= 'contents '> 上一页 </a> "


End If

If n-currentpage <1 Then
Response.Write " <font class= 'contents '> 下一页 末 页 </font> "
Else
Response.Write " <a href= "&filename& "?star= "&request( "star ")& "&type= "&request( "type ")& "&page= "&(CurrentPage+1)& " class= 'contents '> "
Response.Write "下一页 </a> <a href= "&filename& "?star= "&request( "star ")& "&type= "&request( "type ")& "&page= "&n& " class= 'contents '> 末 页 </a> "
End If
Response.Write " <font class= 'contents '> 页次: </font> <font class= 'pages '> "&CurrentPage& " </font> <font class= 'pages1 '> / "&n& " </font> 页 "
Response.Write " <font class= 'contents '> 共有 <font class= 'pages '> "&totalnumber& " </font> 条信息 "
Response.Write " <font class= 'contents '> 转到第: </font> <input type= 'text ' class= 'wenbenkuang ' name= 'page ' size=2 maxlength=4 value= "&currentpage& "> 页 "
Response.Write "&nbsp; <input type= 'submit ' class=go-wenbenkuang value= '跳转 ' name= 'cndok ' > </form> "
End Function
%>
上面的写的点错了..不好意思
[解决办法]
我是刚学分页的时候也卡住了不久,后来自己搞明白了,给你一个我自己的基本代码,其实分页很简单的


'---------连接数据库------------
<%
dim objconn
dim rs
set objconn = server.CreateObject( "adodb.connection ")
set rs=server.CreateObject( "adodb.recordset ")
objconn.connectionstring = "driver={sql server}; " _
& "server=ROBBER;uid=lgw " _
& ";pwd=1230;database=Data "
objconn.open
bj= "select * from users "
rs.open bj,objconn,1,1
%>
'---------连接数据库------------

'----------分页语句------------
<%
rs.PageSize=10 '设定每页显示多少条信息
pag=rs.PageCount    '用来决定保存在recordset中的数据分多少页(pag名字可以换)
page=int(request.QueryString( "page ")) '用来在后面作为页数决定的
if page <=0 then
page=1
end if
if request( "page ")= " " then
page=1
end if
rs.AbsolutePage=page
%>
'----------分页语句------------

'--------显示记录内容----------
<html> <body>
<%

for i=1 to rs.PageSize '决定循环多少次,这里是1到每个页显示的信息数的次数
if rs.EOF then
exit for
end if
response.write( "1: "&rs( "username "))
response.write( " <hr> ")
rs.MoveNext
next
%>
'--------显示记录内容----------

'--------显示的分页信息--------
<p align= "center ">
<%if page=1 and not page=pag then%>
第一页|上一页|
<a href= "t1.asp?page= <%=page+1%> "> 下一页 </a> |
<a href= "t1.asp?page= <%=pag%> "> 最后 </a>
<%elseif page <> 1 and not page=pag then%>
<a href= "t1.asp?page=1 "> 第一页 </a> |
<a href= "t1.asp?page= <%=page-1%> "> 上一页 </a> |
<a href= "t1.asp?page= <%=page+1%> "> 下一页 </a> |


<a href= "t1.asp?page= <%=pag%> "> 最后 </a> |
<%elseif page=pag then%>
<a href= "t1.asp?page=1 "> 第一页 </a> |
<a href= "t1.asp?page= <%=page-1%> "> 上一页 </a> |
下一页|
最后页
<%end if%>
</p>
'--------显示的分页信息--------
</body> </html>
[解决办法]
<%
Set rs=server.CreateObject( "adodb.recordset ")
sql= "select * from users order by userid asc "
rs.open sql,conn,1,3
if rs.eof then
response.write "没有记录! "
response.end()
end if
'一共有多少条记录
Sum = rs.recordcount
'一页显示10条,一共有多少页
if Sum mod 10 = 0 then
SumPage = Sum / 10
else
SumPage = Sum / 10 + 1
end if
'第几页
Page = request( "pageno ")
if Page = 0 or Page = " " then
Page = 1
end if
'从哪一行数据开始显示
for i=1 to (Page - 1) * 10
rs.movenext
next
'显示多少条信息,如果剩下的信息大于10条就显示10条,如果小于10条,有多少显示多少条
if Sum - (Page - 1) * 10 > = 10 then
temp = 10
else
temp = Sum - (Page - 1) * 10
end if
for i = 1 to temp
%>
<!--在这里输入要显示的分页的内容-->
<%
rs.movenext
next
rs.close
set rs = nothing
%>
<span>
当前第 <%=Page%> 页/共 <%=SumPage%> 页
<%if Pgae <> 1 then%>
<a href=userindex.asp?Page= <%=(Page-1)%> > 上一页 </a>
<%else%>
上一页
<%end if%>
<%if Pgae <> SumPage then%>
<a href=userindex.asp?Page= <%=(Page+1)%> > 下一页 </a>
<%else%>
下一页
<%end if%>

</span>

热点排行