1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

求助ASP问题!!!

本帖由 leehui19832006-03-24 发布。版面名称:后端开发

  1. leehui1983

    leehui1983 New Member

    注册:
    2006-02-26
    帖子:
    130
    赞:
    0
    我在做一个发布信息系统的时候做分页部分出了麻烦具体是这样
    我用showclass.asp?classid=id号来显示类别新闻,但是做分页的时候无法正常分页,现在截取部分代码,请各位告诉我怎样纠正
    %if page>1 then%>
    <%if page<rs.pagecount then %>
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = 1%>">首页</a>]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = page -1 %>">上一页</a>]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = page + 1%>">下一页</a>]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = rs.PageCount%>">尾页</a>]
    <%else%>
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = 1%>">首页</a>]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = page -1 %>">上一页</a>]
    [下一页] [尾页]
    <% end if %>
    <%else%>
    [首页] [上一页]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = page + 1%>">下一页</a>]
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = rs.PageCount%>">尾页</a>]
    <%end if %>
    <%else%>
    [首页] [上一页] [下一页] [尾页]
    <%end if%>
    其中classid已经正常获取且类型为数字
     
  2. leehui1983

    leehui1983 New Member

    注册:
    2006-02-26
    帖子:
    130
    赞:
    0
    前面的也给上把
    <%
    dim classid,classname
    classid=request("classid")
    set rs=server.createobject("adodb.recordset")
    sql="select * from item where id="&classid
    rs.open sql,conn,1,1
    classname=rs("classname")
    %>
    <%filepath=request.servervariables("path_info")%>
    <%page=1 '设置变量初始值PAGE=1
    page=request.querystring("page") 'page值为接受值
    rs.PageSize = 3 '每页显示记录数
    if Not IsEmpty(trim(Request("Page"))) then '如果PAGE已经初始化...
    Page = CInt(Request("Page")) '接收PAGE并化为数字型赋给PAGE变量
    if Page > rs.PageCount then '如果接收的页数大于总页数
    rs.AbsolutePage = rs.PageCount '设置当前显示页等于最后页
    elseif Page <= 0 then '如果page小于等于0
    Page = 1 '设置PAGE等于第一页
    else
    rs.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数
    end if
    End if
    Page = rs.AbsolutePage%>
     
  3. 风

    New Member

    注册:
    2005-09-05
    帖子:
    145
    赞:
    0
    代码:
    [<a Href="<%=filepath%>?classid=&classid&&Page=<% = 1%>">首页</a>]
    红色标注的符号之间部分,很明显的错误。
     
  4. leehui1983

    leehui1983 New Member

    注册:
    2006-02-26
    帖子:
    130
    赞:
    0
    知道就告诉我怎么改吧,我新手
     
  5. leehui1983

    leehui1983 New Member

    注册:
    2006-02-26
    帖子:
    130
    赞:
    0
    修正这个错误后,其他还好,可是明明定义每页显示2条,可是第一页总会全部显示记录,第二页倒是正常,这是怎么回事?
     
  6. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    在显示足够记录后,应该退出循环。

    循环前声明一个计数器 i,每显示一条记录将其递增一,如果大于每页记录数,退出循环。

    代码:
    Dim i : i = 0
    Do While ...
        ...
        i = i + 1
        If i > 3 Then Exit Do
        rs.MoveNext
    Loop
     
    已获得 leehui1983 的点赞。
  7. leehui1983

    leehui1983 New Member

    注册:
    2006-02-26
    帖子:
    130
    赞:
    0
    太感谢了,终于解决了