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

循环显示问题!

xuanwang 发布于 2009-07-21 12:02, 806 次点击
只有本站会员才能查看附件,请 登录



循环显示那块有问题,因为中间有合计,所以查询出来的数据没有跟表头对应

[[it] 本帖最后由 xuanwang 于 2009-7-22 17:54 编辑 [/it]]
11 回复
#2
yms1232009-07-21 15:35
SQL语句用COUNT统计函数没数据时就会返回0而不是rs.EOF
#3
xuanwang2009-07-21 18:00
页面运行后只显示表头这一行,其他的就没的了
是不是因为没有查到数据,所以在do while not rs.eof 循环时,只输出表头,就跳出循环了?

[[it] 本帖最后由 xuanwang 于 2009-7-21 18:12 编辑 [/it]]
#4
yms1232009-07-21 19:51
以下是引用xuanwang在2009-7-21 18:00的发言:

页面运行后只显示表头这一行,其他的就没的了
是不是因为没有查到数据,所以在do while not rs.eof 循环时,只输出表头,就跳出循环了?

COUNT函数的查询永远只会返回一行结果,因为是统计函数,返回统计结果不会返回其他数据。
#5
xuanwang2009-07-22 08:59
如果在数据库中查不到数据,应该是返回0吧,但是像这样循环连0都没输出来
<%   
    do while not rs.eof   
%>
 <tr>
    <td style="width: 104px"><%=rs("fdznames") %></td>   '服务站人数
    <td><%=rs("internet")+rs("paper") %></td>          '合计人数
    <td style="width: 45px"><%=rs("internet") %></td>   '网上人数
    <td><%=rs("paper") %></td>                         '纸介人数
    <td style="width: 82px">
    <a href="StatThree.asp?fdzid=<%=fdzid %>&SYear=<%=SYear %>&EYear=<%=EYear %>&studykind=<%=studykind %>&stu_level=<%=stu_level %>"><%=rs("number") %></a>     '专科人数
    </td>   
    <td style="width: 2px"><%=rs("number") %></td>     '合计人数
    <td><%=rs("internet") %></td>          '网上人数
    <td><%=rs("paper") %></td>    '纸介人数
    <td style="width: 8px">
    <a href="StatThree.asp?fdzid=<%=fdzid %>&SYear=<%=SYear %>&EYear=<%=EYear %>&studykind=<%=studykind %>&stu_level=<%=stu_level %>"><%=CInt(rs("number")) %></a>    '单科选修人数
    </td>
    <td style="width: 25px"><%=CInt(rs("number")+rs("number")) %></td>           '总计人数
    <td style="width: 26px"><%=CInt(rs("internet")+rs("internet")) %></td>        '网上人数
    <td style="width: 21px"><%=CInt(rs("paper")+rs("paper")) %></td>              '纸介人数
  </tr>
<%      rs.MoveNext
   loop
%>

[[it] 本帖最后由 xuanwang 于 2009-7-22 09:04 编辑 [/it]]
#6
xuanwang2009-07-22 17:56
高手们帮看看,先谢啦!
#7
xuanwang2009-07-22 18:26
问题说简单点,比如从数据库中查出了aaa、bbb、ccc、ddd、eee五个字段
但是显示在表格中时,中间多了两列“合计”
aaa、合计、bbb、ccc、合计、ddd、eee
那么这个时候该如何循环显示,并且计算出合计的值呢?
#8
yms1232009-07-22 18:30
这样的话必须在循环内部进行统计,或者设计数据表时增加统计字段来统计。
#9
xuanwang2009-07-22 18:40
就是要在循环内部统计,但是做的时候总是出错,查询出来的数据跟表头不对应啊
本来查询的是aaa、bbb、ccc、ddd、eee这5个字段的值
但是显示的时候就按aaa、合计、bbb、ccc、合计、ddd、eee的顺序显示,这就有问题了
就是想知道怎样跳过合计这一列,还能计算出他的值
#10
yms1232009-07-22 19:04
数据库添加统计字段要在添加数据时进行统计,显示数据时就不用统计了。
但是这个应该在添加数据之前做,添加好后就只能统计后再填入修改的统计字段,或者循环内统计。
#11
xuanwang2009-07-23 08:23
这个程序中只有查询功能,没的添加数据功能,难道不能在循环中解决吗,或者还有别的更好的方法。。。
#12
xuanwang2009-07-23 09:32
以下是个静态页面,就是要达到这种效果,要循环输出
后三列:
总计=合计+合计
网上=网上+网上
纸介=纸介+纸介

<html xmlns="http://www.
<head>
<title> </title>
<script type="text/javascript">
</script>
</head>
<body>
<div style="background:#CCFFFF;text-align:center;">
<div style="text-align:center">
    <br />
    <table style="width: 843px; height: 240px" border="1">
        <tr>
            <td rowspan="2" style="width: 19px">
                序号 </td>
            <td rowspan="2" style="width: 207px">
                &nbsp; &nbsp;
                教学服务站 </td>
            <td colspan="8" style="height: 44px">
                &nbsp; &nbsp; &nbsp;&nbsp;
                学历教育报名人数 </td>
            <td style="height: 44px" colspan="5">
                &nbsp;
                非学历教育报名人数 </td>
            <td style="width: 32px" rowspan="2">
                总计 </td>
            <td style="width: 33px" rowspan="2">
                网上 </td>
            <td style="width: 30px" rowspan="2">
                纸介 </td>
        </tr>
        <tr>
            <td style="width: 31px">
                合计 </td>
            <td style="width: 32px">
                网上 </td>
            <td style="width: 31px">
                纸介 </td>
            <td style="width: 67px">
                高中起点专科 </td>
            <td style="width: 69px">
                高中起点本科 </td>
            <td style="width: 50px">
                专科起点本科 </td>
            <td colspan="2" style="width: 50px">
                本科第二学历 </td>
            <td style="width: 40px">
                合计 </td>
            <td style="width: 39px">
                网上 </td>
            <td style="width: 37px">
                纸介 </td>
            <td style="width: 46px">
                单科选修 </td>
            <td style="width: 46px">
                专业进修 </td>
        </tr>
        <tr>
            <td style="width: 19px">
                1 </td>
            <td style="width: 207px">
                北京教学服务中心 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 32px">
                0 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 67px">
                0 </td>
            <td style="width: 69px">
                0 </td>
            <td style="width: 50px">
                0 </td>
            <td style="width: 179px" colspan="2">
                5 </td>
            <td style="width: 40px">
                5 </td>
            <td style="width: 39px">
                0 </td>
            <td style="width: 37px">
                5 </td>
            <td style="width: 46px">
                0 </td>
            <td style="width: 46px">
                5 </td>
            <td style="width: 32px">
                10 </td>
            <td style="width: 33px">
                0 </td>
            <td style="width: 30px">
                10 </td>
        </tr>
        <tr>
            <td style="width: 19px">
                2 </td>
            <td style="width: 207px">
                广州教学服务中心 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 32px">
                0 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 67px">
                0 </td>
            <td style="width: 69px">
                0 </td>
            <td style="width: 50px">
                0 </td>
            <td style="width: 179px" colspan="2">
                5 </td>
            <td style="width: 40px">
                5 </td>
            <td style="width: 39px">
                0 </td>
            <td style="width: 37px">
                5 </td>
            <td style="width: 46px">
                0 </td>
            <td style="width: 46px">
                5 </td>
            <td style="width: 32px">
                10 </td>
            <td style="width: 33px">
                0 </td>
            <td style="width: 30px">
                10 </td>
        </tr>
        <tr>
            <td style="width: 19px">
                3 </td>
            <td style="width: 207px">
                安徽教学服务中心 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 32px">
                0 </td>
            <td style="width: 31px">
                5 </td>
            <td style="width: 67px">
                0 </td>
            <td style="width: 69px">
                0 </td>
            <td style="width: 50px">
                0 </td>
            <td style="width: 179px" colspan="2">
                5 </td>
            <td style="width: 40px">
                5 </td>
            <td style="width: 39px">
                0 </td>
            <td style="width: 37px">
                5 </td>
            <td style="width: 46px">
                0 </td>
            <td style="width: 46px">
                5 </td>
            <td style="width: 32px">
                10 </td>
            <td style="width: 33px">
                0 </td>
            <td style="width: 30px">
                10 </td>
        </tr>
        <tr>
            <td colspan="2">
                &nbsp; &nbsp;&nbsp; 合计 </td>
            <td style="width: 31px">
                15 </td>
            <td style="width: 32px">
                0 </td>
            <td style="width: 31px">
                15 </td>
            <td style="width: 67px">
                0 </td>
            <td style="width: 69px">
                0 </td>
            <td style="width: 50px">
                0 </td>
            <td colspan="2" style="width: 179px">
                15 </td>
            <td style="width: 40px">
                15 </td>
            <td style="width: 39px">
                0 </td>
            <td style="width: 37px">
                15 </td>
            <td style="width: 46px">
                0 </td>
            <td style="width: 46px">
                15 </td>
            <td style="width: 32px">
                30 </td>
            <td style="width: 33px">
                0 </td>
            <td style="width: 30px">
                30 </td>
        </tr>
    </table>
    <br />
</div>
</div>
</body>
</html>
1