Html 如何使用表对列中的值求和?

Html 如何使用表对列中的值求和?,html,coldfusion,Html,Coldfusion,我有一个从查询中获取值的表, 我想得到每一行的总数。 我尝试使用if语句,比如 <cfif ECA GTE 0><td align="center">#ECA#</td> <cfset totaleca+=ECA></CFIF> #ECA# 但是我没有得到正确的总数。 我如何得到所有列的总和 我犯了一个错误 代码: <table id="table-example-1"><caption>testing&

我有一个从查询中获取值的表, 我想得到每一行的总数。 我尝试使用if语句,比如

 <cfif ECA GTE 0><td align="center">#ECA#</td>  <cfset totaleca+=ECA></CFIF>
#ECA#
但是我没有得到正确的总数。 我如何得到所有列的总和

我犯了一个错误

代码:

<table id="table-example-1"><caption>testing</caption>
   <thead><tr>
       <th colspan="1"></th>
       <th colspan="3">ECA</th>


    </tr><tr>

       <th></th>
       <th>open</th>



        </tr></thead>

<cfoutput query="getSubtotal">
    <cfset totaleca = 0>
<cfset totalsum = 0>
     </tr></thead><tbody><tr><td style="width:70px"; align="center">#numberformat(mid(getSubtotal.oaoperiod,5,2))#/#left(getSubtotal.oaoperiod,4)#  </td>
   <td align="center">#ECA#</td> 
     <td align="center">#ECAClose#</td> 
     <td align="center">#ECAcos#</td>   
    <td align="center">#NSA#</td>   
     <td align="center">#NSAClose#</td> 


    </tr>
    </tbody>

    </cfoutput>
    <cfoutput>
        <tfoot>


    <tr>
     <td></td>

    </tr>

      </cfoutput>
        </tfoot>
    </table>
测试
非洲经委会
打开
#数字格式(mid(getSubtotal.oaoperiod,5,2))/#左(getSubtotal.oaoperiod,4)#
#非洲经委会
#ECAClose#
#ECAcos#
#国家安全局
#NSAClose#

您可以在查询列上使用数组函数。此命令的等效命令:

<cfif ECA GTE 0><td align="center">#ECA#</td>  <cfset totaleca+=ECA></CFIF>
#ECA#


如果要添加多个列的总计,请执行以下操作:

<cfstet totalSum = ArraySum(getSubtotal['eca']) 
                        + ArraySum(getSubtotal['ecaclose']) 
                        etc ... >

您可以在查询列上使用数组函数。此命令的等效命令:

<cfif ECA GTE 0><td align="center">#ECA#</td>  <cfset totaleca+=ECA></CFIF>
#ECA#


如果要添加多个列的总计,请执行以下操作:

<cfstet totalSum = ArraySum(getSubtotal['eca']) 
                        + ArraySum(getSubtotal['ecaclose']) 
                        etc ... >

我认为您可以参考Ben Nadel的方法,在查询对象上应用不同的数组函数

示例:如果查询对象包含两列Name和Mark,我们必须计算所有标记的总和,然后我们可以使用:Arraysum(q['Mark'])


类似地,我们也可以使用其他数组函数,如:ArrayMax(q['Mark'])、ArrayMin(q['Mark'])、ArrayAvg(q['Mark'])

我认为您可以参考Ben Nadel的方法在查询对象上应用不同的数组函数

示例:如果查询对象包含两列Name和Mark,我们必须计算所有标记的总和,然后我们可以使用:Arraysum(q['Mark'])


类似地,我们也可以使用其他数组函数,如:ArrayMax(q['Mark'])、ArrayMin(q['Mark'])、ArrayAvg(q['Mark'])

这样输出所有行,然后在底部有一行,该行就是每列中这些值的总和?就我个人而言,我会在输出之前在查询中这样做,但除此之外,我认为您必须创建变量并添加到它们中`totalECA+=ECA应该工作,除非您有一些奇怪的分组正在进行。虽然我不确定为什么需要if语句,但我确实看到一件事,您正在输出循环中设置
totaleca=0
。因此,在每个循环中将其设置为0。它需要在循环之前。所以像输出一样,所有的行,然后在底部有一行,它就是每列中这些值的总和?就我个人而言,我会在输出之前在查询中这样做,但除此之外,我认为您必须创建变量并添加到它们中`totalECA+=ECA应该工作,除非您有一些奇怪的分组正在进行。虽然我不确定为什么需要if语句,但我确实看到一件事,您正在输出循环中设置
totaleca=0
。因此,在每个循环中将其设置为0。它需要在循环之前。
arraySum()
可能有浮点舍入错误,因此如果您想小心,请将自己的循环与
PrecisionEvaluate()
arraySum()
一起使用。
PrecisionEvaluate()可能有浮点舍入错误,因此如果您想小心,请将自己的循环与
PrecisionEvaluate()一起使用
我不知道为什么,但每次我刷新时我都会看到这个答案,我没有看到问题的答案,奇怪,不管怎么说,这正是我使用的,那篇文章,我做了这个,我不知道为什么,但每次我刷新时我都会看到这个答案,我没有看到问题的答案,奇怪,不管怎么说,这正是我使用的,那篇文章,我做了这个,