当前位置:编程学习 > asp >>

asp数字分页 控制页数的问题

现在的格式是下面的源代码 但是我不会控制页数 如果有100页的话也会全列出来 谁帮我改下代码 做成10页的格式像这种格式的 [首页] [上页] [3][4][5][6][7][8][9][10][11] [下页] [尾页] 我现在的是[首页] [上页] (页数如果有100页的话也会全列出来) [下页] [尾页] 高手解答啊 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!--#Include file="1odbc_access.asp"--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>记录分页</title> </head> <body> <% Set rs=Server.CreateObject("ADODB.Recordset") strsql="select * from st" rs.Open strsql,db,1,3 %> <% '如果记录集不是空的,就执行分页显示 If rs.Bof And rs.Eof Then Response.Write "没有记录" Else Dim nowpage If Request.QueryString("nowpage")="" Then nowpage=1 Else nowpage=Cint(Request.QueryString("nowpage")) End If '------------------------------------------------------------------------------- '循环记录 rs.PageSize=2 rs.AbsolutePage=nowpage Dim k k=rs.PageSize Do While Not rs.Eof And k>0 k=k-1 %> <li><%=rs("name")%></li> <% rs.MoveNext Loop %> <% '------------------------------------------------------------------------------- '循环页数 Response.Write "请选择数据页:" %> 共:<%=rs.PageCount%>页 当前为:<%=nowpage%>页 <%If nowpage<>1 Then%> <a href="3recordset.asp?nowpage=<%=1%>"> 首页</a> <%Else%> 首页 <%End If%> <%If nowpage>1 Then%> <a href="3recordset.asp?nowpage=<%=nowpage-1%>">上一页</a> <%Else%> 上一页 <%End If%> <%For k=1 To rs.PageCount%> <%If k=nowpage Then%> <%=k%> <%Else%> <a href="3recordset.asp?nowpage=<%=k%>">[<%=k%>]</a> <%End If%> <%Next%> <%If nowpage<rs.PageCount Then%> <a href="3recordset.asp?nowpage=<%=nowpage+1%>">下一页</a> <%Else%> 下一页 <%End If%> <%If nowpage<>rs.PageCount Then%> <a href="3recordset.asp?nowpage=<%=rs.PageCount%>">末页</a> <%Else%> 末页 <%End If%> <% End If %> </body> </html>
追问:那个第3行出现错Microsoft VBScript 编译器错误 错误 '800a03f3' 
缺少 '=' 
/web/3recordset.asp,行 49 
For k To k+9
我想要的结果是
如果是第1页 就显示从1-10页 
如果是第11页 就显示2-11页 就是pagecount页数总是10都没有问题但是这句稍微有点问题
For k=nowpage-4 To nowpage+5
如果总页为20页的话
当点16页 正常显示应该是11-20吧
但是这句是 16-4=12 16+5=21 他会显示从12-21页
当点17页 显示13-22
实际上没有这页 是这个循环加的
能帮我把这个再改下吗..谢谢了  楼下的也谢谢你了
答案:<%if rs.pagecount>10 then
k=nowpage-4
For k To k+9
if k=nowpage Then
response.write k
Else
response.write"<a href='3recordset.asp?nowpage="&k&"'>["&k&"]</a>"
End If
Next
else
For k=1 To rs.PageCount
if k=nowpage Then
response.write k
Else
response.write"<a href='3recordset.asp?nowpage="&k&"'>["&k&"]</a>"
End If
Next
end if%>
其他:以下代码显示当前页的前后5页
比如:当前第一页 显示1-11   当前10页显示 5-15页

Function Pages(allnum,num)
	dim pagenum,i:pagenum=int(allnum/num)
	if (allnum/num)>pagenum then pagenum=pagenum+1
	dim snum,endnum
	snum=1:endnum=pagenum
	if (page-5)>0 and pagenum>10 then snum=(page-5)
	if (snum+10)<=pagenum then endnum=(snum+10)
	if (endnum-10)<pagenum and (endnum-10)>0  then snum=(endnum-10)
		Pages="<a href=""List_"&SCat&"_"&Pri&"_"&CType&"_1.Shtml"" title=""首页""><<</a></span>"
	for i=snum to endnum
		if page<>i then
			Pages=Pages&" <a href=""List_"&SCat&"_"&Pri&"_"&CType&"_"&i&".Shtml"">"&i&"</a>"
		else
			Pages=Pages&" <a class=""cur"" href=""List_"&SCat&"_"&Pri&"_"&CType&"_"&i&".Shtml"" title=""第"&i&"页"">"&i&"</span> "
		end if
	next 
	Pages=Pages&" <a href=""List_"&SCat&"_"&Pri&"_"&CType&"_"&pagenum&".Shtml"" title=""尾页"">>></a>"
End Function


'调用代码
<%=Pages(zs,pagenum)%>
参数一:数据总数
参数二:每页显示数


连接那些你就自己修改下了撒!!!

上一个:倒计时代码 asp搭建的后台
下一个:ASP做了个生成静态页面的网站.但有问题.求救

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,