跪求!!ASP分页代码有错,谁能帮我改一下?急!
高分!跪求!哪为高手给指点下我这分页代码哪里出错!分页<%ifnotisempty(request("page"))thenpage=cint(request("page...
高分!跪求!哪为高手给指点下我这分页代码哪里出错!
分页
<% if not isempty(request("page")) then
page=cint(request("page"))
else
page=1
end if
set Rs1=server.createobject("adodb.recordset")
Sql1="seclect * from user1 order by id desc"
Rs1.open sql1,secondconn,1,1
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
%>
<div align="center">
共有<%=totalrecord%>条记录, 每页<%=maxperpage%>条,共<%=totalpage%>页 第<%=page%>页
<% if page-1>0 then%><a href ="index.asp?page=<%page-1%>" >上一页</a>
<%else%>
上一页 <br>
<%end if%>
<%if page+1<=totalpage then%>
<a href ="index.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
分页
<% if not isempty(request("page")) then
page=cint(request("page"))
else
page=1
end if
set Rs1=server.createobject("adodb.recordset")
Sql1="seclect * from user1 order by id desc"
Rs1.open sql1,secondconn,1,1
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
%>
<div align="center">
共有<%=totalrecord%>条记录, 每页<%=maxperpage%>条,共<%=totalpage%>页 第<%=page%>页
<% if page-1>0 then%><a href ="index.asp?page=<%page-1%>" >上一页</a>
<%else%>
上一页 <br>
<%end if%>
<%if page+1<=totalpage then%>
<a href ="index.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
</font> </div>
在我提交页面后总提示我在92行有语法错误
错误代码是 0x800a03f6 缺少end 可我加了也不行
92行是:就是倒数第2句 请各位大侠帮忙 展开
分页
<% if not isempty(request("page")) then
page=cint(request("page"))
else
page=1
end if
set Rs1=server.createobject("adodb.recordset")
Sql1="seclect * from user1 order by id desc"
Rs1.open sql1,secondconn,1,1
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
%>
<div align="center">
共有<%=totalrecord%>条记录, 每页<%=maxperpage%>条,共<%=totalpage%>页 第<%=page%>页
<% if page-1>0 then%><a href ="index.asp?page=<%page-1%>" >上一页</a>
<%else%>
上一页 <br>
<%end if%>
<%if page+1<=totalpage then%>
<a href ="index.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
分页
<% if not isempty(request("page")) then
page=cint(request("page"))
else
page=1
end if
set Rs1=server.createobject("adodb.recordset")
Sql1="seclect * from user1 order by id desc"
Rs1.open sql1,secondconn,1,1
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
%>
<div align="center">
共有<%=totalrecord%>条记录, 每页<%=maxperpage%>条,共<%=totalpage%>页 第<%=page%>页
<% if page-1>0 then%><a href ="index.asp?page=<%page-1%>" >上一页</a>
<%else%>
上一页 <br>
<%end if%>
<%if page+1<=totalpage then%>
<a href ="index.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
</font> </div>
在我提交页面后总提示我在92行有语法错误
错误代码是 0x800a03f6 缺少end 可我加了也不行
92行是:就是倒数第2句 请各位大侠帮忙 展开
8个回答
展开全部
楼主瑕疵写代码记得缩进,方便自己检查错误啊!你看下面我帮你缩进以后的代码就明白了。飞翔的裤衩 其实已经找到错误了
.........
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
'*******这里少了一个end if,你想在这里进行一个超出总页数的控制忘写了结束语句!
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
..............
.........
If rs1.eof and rs1.bof then
Response.write"<p align ='center'>关闭"
else
const maxperpage=10
rs1.pagesize=maxperpage
totalrecord=rs1.recordcount
totalpage=rs1.pagecount
if page>totalpage then
page=totalpage
rs1.movefirst
'*******这里少了一个end if,你想在这里进行一个超出总页数的控制忘写了结束语句!
rs1.absolutepage=page
i=0
dim truename(),nickname(),email(),userlogincount()
do while not rs1.eof and (i<rs1.pagesize)
i=i+1
redim preserve truename(i),nickname(i),email(i),userlogincount(i)
truename(i)=rs1("truename")
nickname(i)=rs1("nickname")
email(i)=rs1("email")
userlogincount(i)=rs1("userlogincount")
rs1.movenext
loop
end if
..............
展开全部
我给你个好用的
上面是查询语句:
<% if rs.recordcount=0 then
response.write"<SCRIPT language=JavaScript>alert('没有符合条件的记录!');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
%>
<%
else
if not (rs.eof and rs.bof) then
rs.movenext
end if
rs.PageSize =16 '每页记录条数
iCount=rs.RecordCount '记录总数
iPageSize=rs.PageSize
maxpage=rs.PageCount
page=request("page")
if Not IsNumeric(page) or page="" then
page=1
else
page=cint(page)
end if
if page<1 then
page=1
elseif page>maxpage then
page=maxpage
end if
rs.AbsolutePage=Page
if page=maxpage then
x=iCount-(maxpage-1)*iPageSize
else
x=iPageSize
end if
For i=1 To x
%>
<tr>
<td valign="top"><table width="520" height="25" border="0" cellpadding="0" cellspacing="0" class="bj">
<tr>
<td width="30" align="center" valign="middle"><img src="images/h.gif" width="12" height="11" /></td>
<td width="380" align="left" class="wz4"><a href="xinwenxxy.asp?newsid=<%=rs("newsid")%>" class="l1"><%
if len(trim(rs("newsname")))>30 then
response.write left(trim(rs("newsname")),30)&".."
else
response.write trim(rs("newsname"))
end if%></a></td>
<td width="110" align="center" class="wz4"><%=rs("adddate")%></td>
</tr>
</table></td>
</tr>
<%rs.movenext
next
%>
<tr>
<td class="wz2"><%
call PageControl(iCount,maxpage,page,"border=0 align=center","<p align=center>")
%></td>
</tr>
<%
end if
rs.close
set rs=nothing
Sub PageControl(iCount,pagecount,page,table_style,font_style)
'生成上一页下一页链接
Dim query, a, x, temp
action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
query = Split(Request.ServerVariables("QUERY_STRING"), "&")
For Each x In query
a = Split(x, "=")
If StrComp(a(0), "page", vbTextCompare) <> 0 Then
temp = temp & a(0) & "=" & a(1) & "&"
End If
Next
Response.Write("<table width=100% border=0 cellpadding=0 cellspacing=0 class=wz02>" & vbCrLf )
Response.Write("<form method=get onsubmit=""document.location = '" & action & "?" & temp & "Page='+ this.page.value;return false;""><TR >" & vbCrLf )
Response.Write("<TD align=center height=35>" & vbCrLf )
Response.Write(font_style & vbCrLf )
if page<=1 then
Response.Write ("首 页 " & vbCrLf)
Response.Write ("上一页 " & vbCrLf)
else
Response.Write("<A HREF=" & action & "?" & temp & "Page=1 class=l1>首 页</A> " & vbCrLf)
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page-1) & " class=l1>上一页</A> " & vbCrLf)
end if
if page>=pagecount then
Response.Write ("下一页 " & vbCrLf)
Response.Write ("尾 页 " & vbCrLf)
else
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page+1) & " class=l1>下一页</A> " & vbCrLf)
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & pagecount & " class=l1>尾 页</A> " & vbCrLf)
end if
Response.Write(" 页次:" & page & "/" & pageCount & "页" & vbCrLf)
Response.Write(" 共有" & iCount & "条" & vbCrLf)
Response.Write(" 转到 " & "<INPUT CLASS=wenbenkuang TYEP=TEXT NAME=page SIZE=2 Maxlength=5 VALUE=" & page & ">" & " 页 " & vbCrLf & "<INPUT CLASS=go-wenbenkuang type=submit value=GO>")
Response.Write("</TD>" & vbCrLf )
Response.Write("</TR></form>" & vbCrLf )
Response.Write("</table>" & vbCrLf )
End Sub
%>
是我用过的,一定不会有问题了
上面是查询语句:
<% if rs.recordcount=0 then
response.write"<SCRIPT language=JavaScript>alert('没有符合条件的记录!');"
response.write"javascript:history.go(-1)</SCRIPT>"
response.end
%>
<%
else
if not (rs.eof and rs.bof) then
rs.movenext
end if
rs.PageSize =16 '每页记录条数
iCount=rs.RecordCount '记录总数
iPageSize=rs.PageSize
maxpage=rs.PageCount
page=request("page")
if Not IsNumeric(page) or page="" then
page=1
else
page=cint(page)
end if
if page<1 then
page=1
elseif page>maxpage then
page=maxpage
end if
rs.AbsolutePage=Page
if page=maxpage then
x=iCount-(maxpage-1)*iPageSize
else
x=iPageSize
end if
For i=1 To x
%>
<tr>
<td valign="top"><table width="520" height="25" border="0" cellpadding="0" cellspacing="0" class="bj">
<tr>
<td width="30" align="center" valign="middle"><img src="images/h.gif" width="12" height="11" /></td>
<td width="380" align="left" class="wz4"><a href="xinwenxxy.asp?newsid=<%=rs("newsid")%>" class="l1"><%
if len(trim(rs("newsname")))>30 then
response.write left(trim(rs("newsname")),30)&".."
else
response.write trim(rs("newsname"))
end if%></a></td>
<td width="110" align="center" class="wz4"><%=rs("adddate")%></td>
</tr>
</table></td>
</tr>
<%rs.movenext
next
%>
<tr>
<td class="wz2"><%
call PageControl(iCount,maxpage,page,"border=0 align=center","<p align=center>")
%></td>
</tr>
<%
end if
rs.close
set rs=nothing
Sub PageControl(iCount,pagecount,page,table_style,font_style)
'生成上一页下一页链接
Dim query, a, x, temp
action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
query = Split(Request.ServerVariables("QUERY_STRING"), "&")
For Each x In query
a = Split(x, "=")
If StrComp(a(0), "page", vbTextCompare) <> 0 Then
temp = temp & a(0) & "=" & a(1) & "&"
End If
Next
Response.Write("<table width=100% border=0 cellpadding=0 cellspacing=0 class=wz02>" & vbCrLf )
Response.Write("<form method=get onsubmit=""document.location = '" & action & "?" & temp & "Page='+ this.page.value;return false;""><TR >" & vbCrLf )
Response.Write("<TD align=center height=35>" & vbCrLf )
Response.Write(font_style & vbCrLf )
if page<=1 then
Response.Write ("首 页 " & vbCrLf)
Response.Write ("上一页 " & vbCrLf)
else
Response.Write("<A HREF=" & action & "?" & temp & "Page=1 class=l1>首 页</A> " & vbCrLf)
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page-1) & " class=l1>上一页</A> " & vbCrLf)
end if
if page>=pagecount then
Response.Write ("下一页 " & vbCrLf)
Response.Write ("尾 页 " & vbCrLf)
else
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & (Page+1) & " class=l1>下一页</A> " & vbCrLf)
Response.Write("<A HREF=" & action & "?" & temp & "Page=" & pagecount & " class=l1>尾 页</A> " & vbCrLf)
end if
Response.Write(" 页次:" & page & "/" & pageCount & "页" & vbCrLf)
Response.Write(" 共有" & iCount & "条" & vbCrLf)
Response.Write(" 转到 " & "<INPUT CLASS=wenbenkuang TYEP=TEXT NAME=page SIZE=2 Maxlength=5 VALUE=" & page & ">" & " 页 " & vbCrLf & "<INPUT CLASS=go-wenbenkuang type=submit value=GO>")
Response.Write("</TD>" & vbCrLf )
Response.Write("</TR></form>" & vbCrLf )
Response.Write("</table>" & vbCrLf )
End Sub
%>
是我用过的,一定不会有问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习目的:分页技术,总结
有N条记录的时候我们不可能把所有记录显示在一个页面里面。所以用到分页技术.
<%
exec="select * from test"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.AbsolutePage=page
%>
rs.pagesize设置一个页面里面显示的记录数,pagecount是我们自己定义的一个变量,rs.pagecount是记录的个数,page也是我们自己定义的一个变量,我们下一页的链接可以设置为list.asp?page=<%=page+1%>,下一页的链接可以设置为list.asp?page=<%=page-1%>,这样当按下链接的时候调用页面自己,page这个变量就+1或者-1了,最后我们让rs.absolutepage(当前页面)为第page页就可以了。
if request.QueryString("page")="" then page=1,这句话的作用就是我们打开list.asp的时候没有跟随page变量,自动设置为page=1,防止出错,还有当我们if....then...放在一行的时候end if可以省略。是不是分页也不难?
下面说一种特殊情况:
if page=1 and not page=pagecount,这个时候没有上一页,但是有下一页
elseif page=pagecount and not page=1,这个时候没有下一页,但是有上一页
elseif page<1,这个时候没有任何记录
elseif page>pagecount then,这个时候没有任何记录
elseif page=1 and page=pagecount,这个时候没有上一页,没有下一页
else,这个时候有上一页,也有下一页。
下面看一段显示1到n页,且每一个数字点击以后就出现这个数在代表的页面的代码,很常见哦。
<%for i=1 to pagecount%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next是循环从i=1开始,循环一次加1到pagecount为止。
最后我的实例里面包含了一个最简单的ASP程序,但是功能样样有,是ASP的精髓,每一个ASP大型程序都包含了它。
add.htm增加记录页面
add.asp增加记录操作
conn.asp数据库链接
del.asp删除记录操作
modify.asp修改记录页面
modifysave.asp修改记录操作
list.asp这个是这个程序的核心,通过这个页面实现记录的添加、修改、删除。
test.mdb数据库,里面有aa,bb两个字段:aa数字型只能接受数字,bb是字符型。
有N条记录的时候我们不可能把所有记录显示在一个页面里面。所以用到分页技术.
<%
exec="select * from test"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
rs.PageSize=3
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.AbsolutePage=page
%>
rs.pagesize设置一个页面里面显示的记录数,pagecount是我们自己定义的一个变量,rs.pagecount是记录的个数,page也是我们自己定义的一个变量,我们下一页的链接可以设置为list.asp?page=<%=page+1%>,下一页的链接可以设置为list.asp?page=<%=page-1%>,这样当按下链接的时候调用页面自己,page这个变量就+1或者-1了,最后我们让rs.absolutepage(当前页面)为第page页就可以了。
if request.QueryString("page")="" then page=1,这句话的作用就是我们打开list.asp的时候没有跟随page变量,自动设置为page=1,防止出错,还有当我们if....then...放在一行的时候end if可以省略。是不是分页也不难?
下面说一种特殊情况:
if page=1 and not page=pagecount,这个时候没有上一页,但是有下一页
elseif page=pagecount and not page=1,这个时候没有下一页,但是有上一页
elseif page<1,这个时候没有任何记录
elseif page>pagecount then,这个时候没有任何记录
elseif page=1 and page=pagecount,这个时候没有上一页,没有下一页
else,这个时候有上一页,也有下一页。
下面看一段显示1到n页,且每一个数字点击以后就出现这个数在代表的页面的代码,很常见哦。
<%for i=1 to pagecount%>
<a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
for....next是循环从i=1开始,循环一次加1到pagecount为止。
最后我的实例里面包含了一个最简单的ASP程序,但是功能样样有,是ASP的精髓,每一个ASP大型程序都包含了它。
add.htm增加记录页面
add.asp增加记录操作
conn.asp数据库链接
del.asp删除记录操作
modify.asp修改记录页面
modifysave.asp修改记录操作
list.asp这个是这个程序的核心,通过这个页面实现记录的添加、修改、删除。
test.mdb数据库,里面有aa,bb两个字段:aa数字型只能接受数字,bb是字符型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你少写了个 end if
2楼同志的你应该试试,如果不行的话那就是另外的地方少。仔细看看你的代码。
2楼同志的你应该试试,如果不行的话那就是另外的地方少。仔细看看你的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我晕,一个分页也搞得这么复杂,其实很简单的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询