| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1360 人关注过本帖
标题:三行四列的输出,有个小问题想不通!
只看楼主 加入收藏
awke002
Rank: 2
等 级:论坛游民
帖 子:201
专家分:55
注 册:2008-7-22
收藏
 问题点数:0 回复次数:6 
三行四列的输出,有个小问题想不通!
我是想在页面上输出一个三行四列的表格,格里面的数据室从数据库中绑定的。
可是为什么输出的都是同一个数据呢。
我用 rs.open "select top 12 * from students  order by id desc",conn,1,1
记录出了最后12位学生的学号。
下面是代码:
本意是输出这样的:
1      2     3     4
name1 name2 name3 name4
。。。。。。。。。。
9      10     11     12
name9 name10 name11 name12


可用下面的代码虽然实现了三行四列,但是输出却是这样的:

1      1   1    1
name1 name1 name1 name1
。。。。。。。。。。
1      1    1   1
name1 name1 name1 name1


为什么会这样;找了一天了。。

<table width="100" border="0" cellspacing="0" cellpadding="0">
  <tr>
  
    <%
  for i = 1 to 12
  %>
    <td>
    <table width="100" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="50" align="center"><img src="/photo/<%=rs("stud_url")%>" /></td>
      </tr>
      <tr>
        <td align="center"><%=rs("stud_name")%></td>
      </tr>
    </table>
    </td>
    <%
    if i mod 4 = 0 then
      response.Write "<tr></tr>"
    end if
    next
    %>
    
  </tr>
</table>
搜索更多相关主题的帖子: asp 多行多列 
2008-08-23 16:19
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
呵呵,你这样循环,输出的肯定是重复数据
程序代码:
<table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<% 
    Set rs= Server.CreateObject("ADODB.Recordset") 
    rs.open "select top 12 * from students  order by id desc",conn,1,1 
    i=1 
    do while not rs.eof 
%>
<td>
    <table width="100" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="50" align="center"><img src="/photo/<%=rs("stud_url")%>" /></td>
      </tr>
      <tr>
        <td align="center"><%=rs("stud_name")%></td>
      </tr>
    </table>
</td>
<% 
if (i mod 4)=0 then response.write "</tr>"  '4列显示 mod 4 
i=i+1 
rs.movenext 
loop 
%> 
</tr>
<% 
rs.close 
set rs=nothing 
%>
</table>

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-08-23 18:55
hahatuzi2000
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-7-25
收藏
得分:0 
<table>
  <tr>
<%
for i=1 to 12
response.Write("<td>")
response.Write(i & "<br>")
response.Write("1234")
response.Write("</td>")
if i mod 4 =0 then
response.Write("</tr><tr>")
end if
next
%>
</tr></table>  
把1234换成你想要的数据库的数据就OK 了,自己改动一下吧.
用1234测试没有问题,不知道换成数据库的内容有没有问题,先试试吧.


此段代码还没有考虑STUD_URL呢.自己再改改看.

[[it] 本帖最后由 hahatuzi2000 于 2008-8-24 12:38 编辑 [/it]]
2008-08-24 12:36
sheic
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-1-11
收藏
得分:0 
以上方法都是表格的经典方法

如果实在搞不来 就用<li>+CSS的方法 直接循环也可以的
2008-08-24 14:27
flynet
Rank: 3Rank: 3
来 自:北京
等 级:论坛游民
威 望:7
帖 子:352
专家分:60
注 册:2007-1-28
收藏
得分:0 
3#的 不错

PHP 新人 不断学习进取中。。。
2008-08-24 20:33
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
得分:0 
记录指针都没移动,数据当然是一样的!~
用while就可以了!~
2楼正解!~

C斗士~~~fighting!!!!
2008-08-24 22:09
awke002
Rank: 2
等 级:论坛游民
帖 子:201
专家分:55
注 册:2008-7-22
收藏
得分:0 
谢谢 各位了哈!
问题在你们的帮助下解决了!!
2008-08-28 14:16
快速回复:三行四列的输出,有个小问题想不通!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070870 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved