注册 登录
编程论坛 ASP技术论坛

求图片显示增加翻页代码,求教wangjy500版主。谢谢!

hemi 发布于 2012-03-04 13:45, 926 次点击
<body>
<!--#include file="head.asp" -->
<table width="990"  border="0" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="180" height="100" align="center" bgcolor="#5E0000"><!--#include file="leftmenu.asp" --></td>
    <td align="center"><br>
      <br>
    <table width="93%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="line">
      <tr>
        <td valign="bottom">&nbsp;&nbsp;<b><%=unescape(request.QueryString("classname"))%></b></td>
      </tr>
    </table>
    <br>
    <table width="100%" height="100%" border="0" align="center" cellpadding="0"  cellspacing="0" class="mainFont">
      <tr>
        <td valign="top">
        <%
        dim classid
        classid=request.QueryString("classid")
        mysql="select * from PSClass_table where OneClassID=" & classid & " order by OrderNumber asc,ClassName asc"
        set rs=conn.execute(mysql)
        %>
        </td>
      </tr>
      <%if rs.eof then%>
      <tr>
        <td height="210" align="center" valign="top" class="pointCss">作品更新中...</td>
      </tr>
      <%else%>
      <%do while not(rs.eof)%>
      <tr>
        <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="mainFont">
          <tr align="center">
          <%for i=0 to 2%>
          <%if not(rs.eof) then%>
            <td width="33%" valign="top"><br>
              <a href="productionc.asp?cNum=2&classid=<%=trim(rs("id"))%>&classname=<%=escape(trim(rs("ClassName")))%>&gototop=0"><img src="classimages/smallimages/<%=trim(rs("ClassImages"))%>" alt="<%=trim(rs("ClassName"))%>" onload="DrawImage(this,160,170)" border="0"></a>
              <br>
              <%=trim(rs("ClassName"))%>
              <br>
              <br>
              </td>
          <%
          rs.movenext
          else
          %>
            <td width="33%">&nbsp;</td>
          <%
          end if
          next
          %>
          </tr>
        </table>
        </td>
      </tr>
      <%
      loop
      end if
      set rs=nothing
      conn.close
      set conn=nothing
      %>

<tr>
              <td height="40" align="center" valign="bottom"  class="line"><a href="javascript:history.go(-1)">【返回】</a><br><br></td>
            </tr>


    </table></td>
  </tr>
</table>
<br>
      <br>
</td>
        <td width="40" align="center" valign="top">&nbsp;</td>
      </tr>
    </table>
    </td>
  </tr>
</table>
<!--#include file="foot.asp" -->
</body>
只有本站会员才能查看附件,请 登录

现在是有多少图片都在一个页面显示,修改成3行图片,每行3个。
先谢了。
13 回复
#2
hemi2012-03-04 14:47
需要的功能:
共*页 首页 上页 下页 尾页
#3
jonathen2012-03-04 14:57
嘿嘿 老师他应该不在 我给你提供一个模版!你自己去套用就ok了!

<% Dim page_no   '定义一个页面记录变量                           
    If Request.QueryString("page_no")="" Then   '如果返回的没有内容则显示是第一页
        page_no=1
    Else
        page_no=CInt(Request.QueryString("page_no")) 'CInt函数表示将字符串转换为整数
    End If
   set rs=Server.CreateObject("adodb.recordset")
   rs.open "select * from 表名 order by 字段 desc",conn,1,1  '按照字段降序排列查询输出
   rs.PageSize=5     '设置每个页面显示五条信息
    dim page_total
    page_total=rs.PageCount 'page_total返回总页数
    rs.AbsolutePage=page_no  '设置当前显示第几页,利用传递过来的page_no
        dim i
        i=5                  'i用来控制当前页面记录,需要和PageSize保持一致
        '下面循环输出内容
        do whlie not rs.eof and i>0  '循环直到当前页结束或者记录集结尾
%>      
<%=rs("字段1")%><%=rs("字段2")%>
<%
rs.movenext
loop
rs.close
set rs=nothing         '每次在用完数据集的时候都要关闭并且清空操作记录可以节省内存开支
Response.Write"共有"&page_total&"页,"
Response.Write"当前显示第"&page_no&"页,"
dim numPre,numNext
numPre=page_no-1
numNext=page_no+1
'输出第一页的链接
Response.Write "<a href='index.asp?page_no=1'>第一页</a>"
’如果page_no=0那么已经是第一页不需要下一页
if numPre=0 then
   Response.Write "&nbsp;&nbsp;上一页"
Else
   Response.Write "&nbsp;&nbsp;<a href='index.asp?page_no=" & numPre & "'>上一页</a>"
End If
'然后输出下一页的链接,如果numPre>page_total,表示当前已经是最后一页了,不需要下一页了,所以不要加超链接
If numNext>page_total Then
   Response.Write "&nbsp;&nbsp;下一页"
Else   Response.Write "&nbsp;&nbsp;<a href='index.asp?page_no=" & numNext & "'>下一页</a>"
End If
'输出最后页的链接
Response.Write "&nbsp;&nbsp;<a href='index.asp?page_no=" & page_total & "'>最后页</a>"


%>
#4
hemi2012-03-04 18:40
你好。谢谢。
缺少 'While' 和 'Until'或语句未结束

/productionb.asp,行 57

do whlie not rs.eof and i>0  '循环直到当前页结束或者记录集结尾


出现这个!
#5
hemi2012-03-04 18:41
<body>
<!--#include file="head.asp" -->
<table width="990"  border="0" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="180" height="100" align="center" bgcolor="#5E0000"><!--
#include file="leftmenu.asp" --></td>
    <td align="center"><br>
      <br>
    <table width="93%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" valign="top"><table width="100%"  border="0"  
cellspacing="0" cellpadding="0">
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0"  
class="line">
      <tr>
        <td valign="bottom">&nbsp;&nbsp;<b><%=unescape(request.QueryString
("classname"))%></b></td>
      </tr>
    </table>
    <br>
    <table width="100%" height="100%" border="0" align="center"  
cellpadding="0"  cellspacing="0" class="mainFont">
      <tr>
        <td valign="top">
        
<% Dim page_no   '定义一个页面记录变量                           
    If Request.QueryString("page_no")="" Then   '如果返回的没有内容则显示是第
一页
        page_no=1
    Else
        page_no=CInt(Request.QueryString("page_no")) 'CInt函数表示将字符串转
换为整数
    End If
classid=request.QueryString("classid")
   set rs=Server.CreateObject("adodb.recordset")
   rs.open "select * from PSClass_table where OneClassID=" & classid & "  
order by OrderNumber asc,ClassName asc",conn,1,1  '按照字段降序排列查询输出
   rs.PageSize=5     '设置每个页面显示五条信息
    dim page_total
    page_total=rs.PageCount 'page_total返回总页数
    rs.AbsolutePage=page_no  '设置当前显示第几页,利用传递过来的page_no
        dim i
        i=5                  'i用来控制当前页面记录,需要和PageSize保持一致
        '下面循环输出内容
        do whlie not rs.eof and i>0  '循环直到当前页结束或者记录集结尾
%>      


        </td>
      </tr>
     
      <tr>
        <td height="210" align="center" valign="top" class="pointCss">作品更
新中...</td>
      </tr>
     
   
      <tr>
        <td valign="top"><table width="100%" border="0" cellpadding="0"  
cellspacing="0" class="mainFont">
          <tr align="center">
         
            <td width="33%" valign="top"><br>
              <a href="productionc.asp?cNum=2&classid=<%=trim(rs("id"))%
>&classname=<%=escape(trim(rs("ClassName")))%>&gototop=0"><img  
src="classimages/smallimages/<%=trim(rs("ClassImages"))%>" alt="<%=trim(rs
("ClassName"))%>" onload="DrawImage(this,160,170)" border="0"></a>
              <br>
              <%=trim(rs("ClassName"))%>
              <br>
              <br>
              </td>
         
            <td width="33%">&nbsp;</td>
        
          </tr>
        </table>
        </td>
      </tr>
     

<tr>     <td height="40" align="center" valign="bottom"  class="line"><a  
href="javascript:history.go(-1)">【返回】</a><br><br></td>
            </tr>


    </table></td>
  </tr>
</table>
<br>
      <br>
</td>
        <td width="40" align="center" valign="top"><%
rs.movenext
loop
rs.close
set rs=nothing         '每次在用完数据集的时候都要关闭并且清空操作记录可以节
省内存开支
Response.Write"共有"&page_total&"页,"
Response.Write"当前显示第"&page_no&"页,"
dim numPre,numNext
numPre=page_no-1
numNext=page_no+1
'输出第一页的链接
Response.Write "<a href='productionb.asp?page_no=1'>第一页</a>"
’如果page_no=0那么已经是第一页不需要下一页
if numPre=0 then
   Response.Write "&nbsp;&nbsp;上一页"
Else
   Response.Write "&nbsp;&nbsp;<a href='productionb.asp?page_no=" & numPre &  
"'>上一页</a>"
End If
'然后输出下一页的链接,如果numPre>page_total,表示当前已经是最后一页了,不需
要下一页了,所以不要加超链接
If numNext>page_total Then
   Response.Write "&nbsp;&nbsp;下一页"
Else   Response.Write "&nbsp;&nbsp;<a href='productionb.asp?page_no=" &  
numNext & "'>下一页</a>"
End If
'输出最后页的链接
Response.Write "&nbsp;&nbsp;<a href='productionb.asp?page_no=" & page_total &  
"'>最后页</a>"

%>
         </td>
      </tr>
    </table>
    </td>
  </tr>
</table>
<!--#include file="foot.asp" -->
</body>

[ 本帖最后由 hemi 于 2012-3-4 18:53 编辑 ]
#6
jonathen2012-03-04 20:08
额  不好意思  都是自己写的 ! while写错了 嘿嘿 !do whlie not rs.eof and i>0  
#7
wangjy5002012-03-04 20:20
程序代码:
<body>
<!--#include file="head.asp" -->
<table width="990"  border="0" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="180" height="100" align="center" bgcolor="#5E0000"><!--#include file="leftmenu.asp" --></td>
    <td align="center"><br>
      <br>
    <table width="93%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="line">
      <tr>
        <td valign="bottom">&nbsp;&nbsp;<b><%=unescape(request.QueryString("classname"))%></b></td>
      </tr>
    </table>
    <br>
    <table width="100%" height="100%" border="0" align="center" cellpadding="0"  cellspacing="0" class="mainFont">
      <tr>
        <td valign="top">
        <% Dim page_no   '定义一个页面记录变量                          
    If Request.QueryString("page_no")="" Then   '如果返回的没有内容则显示是第 一页
        page_no=1
   
Else
        page_no
=CInt(Request.QueryString("page_no")) 'CInt函数表示将字符串转换为整数
    End If

        
dim classid
        classid
=request.QueryString("classid")
        mysql
="select * from PSClass_table where OneClassID=" & classid & " order by OrderNumber asc,ClassName asc"
      
' set rs=conn.execute(mysql)
        set rs=Server.CreateObject("adodb.recordset")
           rs.open mysql,conn,
1,1
            rs.PageSize
=12    '设置每个页面显示数量
    dim page_total
    page_total
=rs.PageCount 'page_total返回总页数
    rs.AbsolutePage=page_no  '设置当前显示第几页,利用传递过来的page_no

        
%>
        </td>
      </tr>
      <%if rs.eof then%>
      <tr>
        <td height="210" align="center" valign="top" class="pointCss">作品更新中...</td>
      </tr>
      <%else%>
      <%do while not(rs.eof)%>
      <tr>
        <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="mainFont">
          <tr align="center">
          <%for i=0 to 2%>
          <%if not(rs.eof) then%>
            <td width="33%" valign="top"><br>
              <a href="productionc.asp?cNum=2&classid=<%=trim(rs("id"))%>&classname=<%=escape(trim(rs("ClassName")))%>&gototop=0"><img src="classimages/smallimages/<%=trim(rs("ClassImages"))%>" alt="<%=trim(rs("ClassName"))%>" onload="DrawImage(this,160,170)" border="0"></a>
              <br>
              <%=trim(rs("ClassName"))%>
              <br>
              <br>
              </td>
          <%
          rs.movenext
         
else
         
%>
            <td width="33%">&nbsp;</td>
          <%
         
end if
         
next
         
%>
          </tr>
        </table>
        </td>
      </tr>
      <%
      
loop
      
end if
      Response.Write
"共有"&page_total&"页,"
Response.Write
"当前显示第"&page_no&"页,"
dim numPre,numNext
numPre
=page_no-1
numNext
=page_no+1
'输出第一页的链接
Response.Write "<a href='?page_no=1'>第一页</a>"'如果page_no=0那么已经是第一页不需要下一页
if numPre=0 then
   Response.Write
"&nbsp;&nbsp;上一页"
Else
   Response.Write
"&nbsp;&nbsp;<a href='?page_no=" & numPre & "'>上一页</a>"
End If

If numNext>page_total Then
   Response.Write
"&nbsp;&nbsp;下一页"
Else
Response.Write
"&nbsp;&nbsp;<a href='?page_no=" & numNext & "'>下一页</a>"
End If
'输出最后页的链接
Response.Write "&nbsp;&nbsp;<a href='?page_no=" & page_total &  "'>最后页</a>"


      
set rs=nothing
      conn.close
      
set conn=nothing
      
%>

<tr>
              <td height="40" align="center" valign="bottom"  class="line"><a href="javascript:history.go(-1)">【返回】</a><br><br></td>
            </tr>


    </table></td>
  </tr>
</table>
<br>
      <br>
</td>
        <td width="40" align="center" valign="top">&nbsp;</td>
      </tr>
    </table>
    </td>
  </tr>
</table>
<!--#include file="foot.asp" -->
</body>
#8
hemi2012-03-04 21:02
感谢wangjy500老师,谢谢jonathen!
3个问题,
第一,
只有本站会员才能查看附件,请 登录

翻页条跑到上面去了。
第二,点翻页条,可以点第一页,也可以点最后页,点了后出现
只有本站会员才能查看附件,请 登录

第三,设置一个页面6个图,但是,还是出来9个图。
感谢。
#9
jonathen2012-03-05 12:14
呵呵 第一个问题 因为那个显示页面的部分没有定位 你可以用div定下位
第二个问题 可能是你数据库的连接方式不支持这个属性吧!你改一下连接驱动吧!或者你直接用老师的那个方法!
第三个问题应该是在设置那个每个页面显示数出问题了吧!应该是这一句后面吧! <%do while not(rs.eof)%>
#10
hemi2012-03-05 14:05
jonathen兄:还是搞不定
要不麻烦你下,你根据我第一帖的代码。帮忙改下出来。
谢谢。
#11
jonathen2012-03-05 17:21
你把你的数据库连接文件里面的代码粘上来吧!
#12
hemi2012-03-05 18:33

<%
' FileName="Connection_ado_conn_string.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_mylink_STRING,conn
'MM_mylink_STRING = "driver={Microsoft Access Driver (*.mdb)};dbq=D:\familystar\familystardb\fdb.mdb"
MM_mylink_STRING="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath(""&"fsdb/@#fsdb.mdb"&"")&";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open MM_mylink_STRING
%>

用的@#fsdb.mdb这个。
谢谢了。
#13
hemi2012-03-06 14:33
顶顶。
#14
hemi2012-03-06 22:04
再顶
1