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做了个生成静态页面的网站.但有问题.求救