ASP分页问题(每页的页码显示个数)

http://www.jxh07.com.cn/newspaper.htm
大家先看一下这个网站的网页,每页显示了13个页码,我想让大家帮忙修改一下,让每页显示10个页码。形如<< [1]............[10] >>就像百度那样的分页效果。可能我的分页代码不完善:
<%if page=1 and not page=pagecount then%>
第<%=page%>页
<%for i=1 to pagecount%>
<a href="?page=<%=i%>">[<%=i%>]</a>
<%next%>
<a href="?page=<%=page+1%>">下页</a>
<%elseif page=pagecount and not page=1 then%>
第<%=page%>页
<%for i=1 to pagecount%>
<a href="?page=<%=i%>">[<%=i%>]</a>
<%next%>
<a href="?page=<%=page-1%>">上页</a>
<%elseif page<1 then%>
没有任何记录!
<%elseif page>pagecount then%>
没有任何记录!
<%elseif page=1 and page=pagecount then%>
<%else%>
第<%=page%>页
<%for i=1 to pagecount%>
<a href="?page=<%=i%>">[<%=i%>]</a>
<%next%>
<a href="?page=<%=page-1%>">上页</a> <a href="?page=<%=page+1%>">下页</a>
<%end if%>

<%'=============分页定义开始,可放在数据库打开前或后
dim action
action=request.QueryString("action")
Const MaxPerPage=10 '定义每页显示记录数,可根据实际自定义
dim totalPut
dim CurrentPage
dim TotalPages
dim j
dim sql
if Not isempty(request("page")) then
currentPage=Cint(request("page"))
else
currentPage=1
end if '=============分页定义结束%>

<% '=============打开数据库数据表,要以这种方式打开
set rs=server.createobject("adodb.recordset")
sql="select * from * where * order by * "
rs.open sql,conn,1,1
%>

<%'=============分页类代码开始,需放在数据库数据表打开后

if err.number<>0 then
response.write "<p align='center'>数据库中暂时无数据</p>"
end if
if rs.eof And rs.bof then
Response.Write "<p align='center'>对不起,没有符合条件记录!</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,""&request.ServerVariables("script_name")&""
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
dim bookmark
bookmark=rs.bookmark
showContent
showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
else
currentPage=1
showContent

showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""

end if
end if
end if '=============分页类代码结束%>

<%'=============循环体开始
sub showContent
dim i
i=0
do while not rs.eof%>

<!---此处为内容循环输出---->

<%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 %>
<form method=Post action=<%=filename%>>
<p align="center">
<%If CurrentPage<2 Then %>
首 页 上一页
<% Else %>
<a href=<% = filename %>?page=1>首 页</a>
<a href=<% = filename %>?page=<% = CurrentPage-1 %>>上一页</a>
<% End If
If n-currentpage<1 Then %>
下一页 尾 页
<% Else %>
<a href=<% = filename %>?page=<% = (CurrentPage+1) %>>下一页</a>
<a href=<% = filename %>?page=<% = n %>>尾 页</a>  
<% End If %>
页次:<b><font color=red><% = CurrentPage %></font></b>/<b><% = n %></b>页 <b><%=maxperpage%></b>个记录/页 共<b><%=totalnumber %></b>个记录
转到:<select name="cndok" onchange="javascript:location=this.options[this.selectedIndex].value;">
<%
for i = 1 to n
if i = CurrentPage then%>
<option value="<% = filename %>?page=<%=i%>" selected>第<%=i%>页</option>
<%else%>
<option value="<% = filename %>?page=<%=i%>">第<%=i%>页</option>
<%
end if
next
%>
</select></font>
</form>
<%End Function '=============放置分页显示结束%>
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-19
你这个是把数据库里所有的都显示在下面了。总共13页拉!要再设个IF语句,IF 那个页数大于10页的时候,另外显示一页去
第2个回答  2008-04-30
别的不多说,看这里,自写的
http://marcho.cn/post/2008-4-4-1.shtml
有1--10页码功能
那个SUB过程 在需要调用的地方 call 一下 就会显示了。
QQ:303302

参考资料:http://marcho.cn/post/2008-4-4-1.shtml

本回答被提问者采纳

ASP分页问题(每页的页码显示个数)
<%'===分页定义开始,可放在数据库打开前或后 dim action action=request.QueryString("action")Const MaxPerPage=10 '定义每页显示记录数,可根据实际自定义 dim totalPut dim CurrentPage dim TotalPages dim j dim sql if Not isempty(request("page")) then currentPage=Cint(request("page"))...

asp中分页代码问题?
首先你的表单里有通过get传递的,也有通过post传递的,这样子不好。只要其中之一就好了。dim a'每页显示的记录条数 dim b'总记录条数 Dim TotalPage '总页数 Dim PageNo '当前显示的是第几页 a=4 Recordset1.PageSize = a b = Recordset1.recordcount 'Recordset1为有效记录集 TotalPage = INT...

ASP如何固定每页显示记录条数。
pageno = trim(request("pageno"))这样写只是定义了显示数据的条数和获取页码,当你翻页的时候并没有让数据库指针决定对定位。Rs.AbsolutePage=Page 也就是没有这么一句。楼上的说的很明白了。如果不懂的地方,欢迎进群83574996学习

ASP 分页的一点小问题!!大家帮忙,帖出代码
< '一个分页函数 '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 pa...

ASP分页注释!!~~~
""end if next rs.close set rs=nothing '---页码输出结束 '=== '关闭数据库代码 '=== 以上代码很简单,希望对你有用,学会了以后对此部分代码做相应修改才会让分页更完善!

asp如何让他分页显示?.每页显示10行
下面给你贴段分页的代码你参考一下 这个是我刚写的一个系统的管理后台的分页显示管理 自己研究才有进步 说明 注意那个PAGE是分页的页码 conn.asp是一个数据库连接文件 <!--#include file="conn.asp"--> < Page=Request.QueryString("Page")if Int(Page)="" or int(page)<1 then currentPage=...

ASP内容页分页问题
rs.PageSize=17\/\/每页显示的条数 dim curpages curpages=Request("pageid")if curpages="" then pageno=1 else pageno=curpages end if pageno=CInt(pageno)rs.AbsolutePage=pageno \/\/\/ <%if pageno=1 then%> 首页 <%else%> 首页 <%end if%> < if pageno<>1 then > <a href=?

asp 分页代码 可以显示<<12345678>>形式的分页
intPageSize=5 '每页显示记录数 intSectionSize=5 '多少页为一段,5表示,12345为一段。PrevSectionText="<FONT face=webdings>7<\/FONT>" '上一段的链接文字 NextSectionText="<FONT face=webdings>8<\/FONT>" '下一段的链接文字 PrevPageText="<FONT face=webdings>3<\/FONT>" '上页的...

asp.NET分页如何实现?
1、首先来了解Asp.Net分页控件——AspNetPager以及控件的属性。CurrentPageIndex\/\/当前页数(页码)RecordCount \/\/总数据条数 PageSize \/\/每页数据条数 PageCount \/\/总的页数 当然还有一些特别“人性化”的属性可以设置。2、接下来就是给控件属性赋值就可以了,通过Sql语句查询到数据库中的数据,SqlDataAdapter...

asp分页显示代码问题求助
<%'连接数据库等操作省略,打开数据库等省略'rs为打开数据库的对象const pz=13 '这里定义分页数据,即每页多少条数据rs.pagesize=pz '这里设置分页的数量,asp分页必须rs.absolutepage=nowpage '这里的nowpage是用来获取当面的页码 判断nowpager的合法性省略。allpage=rs.pagecount '这是共...

相似回答