CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

分页问题?

楼主laby888()2006-06-03 09:22:39 在 Web 开发 / ASP 提问

页面(index.asp):  
  <form   action="AdvSearch.asp"   method="post"   name="myform"   id="myform">  
  通过按钮search查询到另一页面(productshow.asp)  
   
  在productshow.asp中,获取传过来的值与写SQL查询语句,运用到以下分页的方法:  
  <%dim   i,intPage,page,pre,last,filepath  
        set   rs   =   server.CreateObject("adodb.recordset")  
          rs.PageSize   =   5                  
            rs.CursorLocation   =   3  
            rs.Open   sqltext,conn,0,2,1      
            pre   =   true  
            last   =   true  
            page   =   trim(Request("page"))  
               
     
              if   len(page)   =   0   then  
                                      intpage   =   1  
                                      pre   =   false  
              else  
                      if   cint(page)   =<   1   then  
                                intpage   =   1  
                                pre   =   false  
                      else  
                              if   cint(page)   >=   rs.PageCount   then  
                                      intpage   =   rs.PageCount  
                                      last   =   false  
                              else  
                                        intpage   =   cint(page)  
                            end   if  
                    end   if  
              end   if  
          if   not   rs.eof   then  
                    rs.AbsolutePage   =   intpage  
          end   if  
  %>  
    开始循环:  
      <%          
        for   i=1   to   rs.PageSize  
            if   rs.EOF   or   rs.BOF   then   exit   for  
      %>  
  .......  
   
  循环结束:  
        <%      
          rs.movenext  
          next  
        %>  
   
  显示分页:  
  <table   width="99%"   border="1"   cellpadding="2"   cellspacing="2"   borderColorLight=#808080   borderColorDark=#ffffff>  
        <tr>  
            <%if   rs.pagecount   >   0   then%>  
            <td   width="13%"   height="39"   align="left">当前页<%=intpage%>/<%=rs.PageCount%></td>  
            <%else%>  
          <td   width="41%"   align="left">当前页0/0</td><%end   if%>  
          <td   width="46%"   align="right">   <a   href="本页.asp?page=1">首页</a>|    
            <%if   pre   then%>  
            <a   href="advSearch.asp?page=<%=intpage   -1%>">上页</a>|   <%end   if%>  
            <%if   last   then%>  
              <a   href="advSearch.asp?page=<%=intpage   +1%>">下页</a>   |<%end   if%>  
              <a   href="advSearch.asp?page=<%=rs.PageCount%>">尾页</a>|转到第  
              <select   name="sel_page"   onchange="javascript:location=this.options[this.selectedIndex].value;">  
              <%  
                for   i   =   1   to   rs.PageCount  
                if   i   =   intpage   then%>  
                <option   value="advSearch.asp?page=<%=i%>"   selected><%=i%></option>  
            <%else%>  
                <option   value="advSearch.asp?page=<%=i%>"><%=i%></option>  
                  <%  
                      end   if  
                  next  
                  %>  
            </select>页</font>    
          </td>  
        </tr>  
    </table>  
   
  为啥我从index.asp按search后,出错:  
  Microsoft   VBScript   编译器错误   错误   '800a03f6'    
   
  缺少   'End'    
   
  /iisHelp/common/500-100.asp,行242    
   
  Microsoft   VBScript   运行时错误   错误   '800a000d'    
   
  类型不匹配    
   
  /onlinesearch/AdvSearch.asp,行103    
   
  急啊! 问题点数:20、回复次数:5Top

1 楼laby888()回复于 2006-06-03 09:35:40 得分 0

类型已匹配,这103行改成if   cint(page)=0   then  
   
  但为何,我查询到第一页,第二页显示记录结果就会出错呢?为啥?谢谢!问题解决就马上结分.Top

2 楼jinfeng003(靳奉山)回复于 2006-06-03 09:48:09 得分 0

page   =   clng(Request("page"))  
   
              if   page   <=   0   then  
                                      intpage   =   1  
                                      pre   =   false  
              end   if  
   
              if   cint(page)   >=   rs.PageCount   then  
                      intpage   =   rs.PageCount  
                      last   =   false  
              end   if  
   
  没必要像你写的那么麻烦,这样分别判断更清晰Top

3 楼jinfeng003(靳奉山)回复于 2006-06-03 09:49:38 得分 0

if   page   >=   rs.PageCount   then  
                      intpage   =   rs.PageCount  
                      last   =   false  
              end   if  
    这点刚才写错了,差不多  
  还有就是尽量使用Clng,少用Cint,我用过几个机器都是不支持CInt但是支持CLngTop

4 楼chinastorm(JOBS.CN)回复于 2006-06-03 09:51:17 得分 0

<table>  
  <tr>  
  <td   width="320"   valign="top"><br>  
                          <span   class="guoji">  
  <%  
  Set   rs   =   Server.CreateObject   ("ADODB.Recordset")  
  sql   =   "Select   newsId,newsTitle,newsContent,pageURL   from   News_ArticleList   Where   firstClassId=7   order   by   newsId   desc"  
  rs.Open   sql,conn,1,1  
  If   rs.EOF   then  
  Response.Write("<tr><td>暂时没有新闻!</td></tr>")  
  pageFlag   =   true  
  else  
  Perpage   =   10  
  text="0123456789"  
  Rs.PageSize   =   10  
  for   i=1   to   len(request("page"))  
  checkpage=instr(1,text,mid(request("page"),i,1))  
  if   checkpage=0   then  
  exit   for  
  End   If  
  next  
   
  If   checkpage<>0   then  
    If   NOT   IsEmpty(request("page"))   Then  
        CurrentPage=Cint(request("page"))  
        If   CurrentPage   <   1   Then   CurrentPage   =   1  
        If   CurrentPage   >   rs.PageCount   Then   CurrentPage   =   rs.PageCount  
    Else  
        CurrentPage=   1  
    End   If  
        If   not   Rs.eof   Then   Rs.AbsolutePage   =   CurrentPage   End   If  
  Else  
    CurrentPage=1  
  End   If  
    i=0  
      do   While   not   rs.eof    
        %>  
  循环操作  
  <%  
  i   =   i   +   1  
  if   i   >   Perpage-1   then   exit   do  
  rs.MoveNext  
  loop  
  End   If  
  %>  
  </span>  
      <%   If   pageFlag   <>   true   Then%>  
                                  <table   width="100%"   height="19"   border="0"   align="center"   cellpadding="0"   cellspacing="0">  
                                      <tr>  
                                          <td   width="82%"   align="center">  
  <%  
  Response.write   "<font   color='#000000'>&nbsp;&nbsp;新闻:</font>"  
  Response.write   "共</font>"   &   "<font   color=#FF0000>"   &   Cstr(Rs.RecordCount)   &   "</font>"   &   "<font   color='#000000'>条</font></strong>&nbsp;&nbsp;"  
  Response.write   "<font   color='#000000'>当前是第</font>"   &   "<font   color=#FF0000>"   &   Cstr(CurrentPage)   &     "</font>页&nbsp;"   &   "<font   color='#000000'>共有<font   color=#FF0000>"   &   Cstr(rs.pagecount)   &   "</font>页</font>&nbsp;"  
  If   Cstr(CurrentPage)   >   1   Then  
  response.write   "<a   href='guoji_news.asp?page="+cstr(1)+"'><font   color='#000000'>首页</font></a><font   color='#ffffff'>   </font>"  
  Response.write   "<a   href='guoji_news.asp?page="+Cstr(currentpage-1)+"'><font   color='#000000'>上一页</font></a><font   color='#ffffff'>   </font>"  
   
  End   If  
  If   Cstr(CurrentPage)   <   Cstr(rs.pagecount)   Then  
  Response.write   "<a   href='guoji_news.asp?page="+Cstr(currentPage+1)+"'><font   color='#000000'>下一页</font></a><font   color='#ffffff'>   </font>"  
  Response.write   "<a   href='guoji_news.asp?page="+Cstr(Rs.PageCount)+"'><font   color='#000000'>尾页</font></a>&nbsp;"  
  End   If  
  rs.close  
  set   rs   =   nothing  
  %>  
                                          </td>  
                                      </tr>  
                                  </table>  
                                  <%End   If%></td>  
   
  </td></tr></table>Top

5 楼keya(守望者)回复于 2006-06-03 10:27:29 得分 0

rs.open   sql,conn,1,1  
  maxperpage=5  
  rs.pagesize=maxperpage  
  if   request("page")=""   then  
  page=1  
  else  
  page=cint(request("page"))  
  end   if  
  if   not   (rs.eof   or   err)   then   rs.move   (page-1)*maxperpage  
  do   while   not   (rs.eof   or   err)  
  ''''''''''  
  rs.movenext  
  loopTop

相关问题

关键词

得分解答快速导航

  • 帖主:laby888

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo