Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何计算产品价格表的总和(ColdFusion)_Loops_Coldfusion - Fatal编程技术网

Loops 如何计算产品价格表的总和(ColdFusion)

Loops 如何计算产品价格表的总和(ColdFusion),loops,coldfusion,Loops,Coldfusion,以下是查询: <cfquery name="GET_SHIP_ROW" datasource="#DSN2#"> SELECT SR.*, S.STOCK_CODE FROM SHIP_ROW SR, #dsn3_alias#.STOCKS S WHERE SR.STOCK_ID = S.STOCK_ID AND SR.SHIP_ID = #attributes.

以下是查询:

<cfquery name="GET_SHIP_ROW" datasource="#DSN2#">
    SELECT
        SR.*,
        S.STOCK_CODE
    FROM
        SHIP_ROW SR,
        #dsn3_alias#.STOCKS S
    WHERE
        SR.STOCK_ID = S.STOCK_ID AND 
        SR.SHIP_ID = #attributes.ship_id#
    ORDER BY
        SR.SHIP_ROW_ID
</cfquery>
例如,我有一个价格循环代码:

  <cfloop from="#satir_start#" to="#satir_end#" index="i">
    <cfif i lte get_ship_row.recordcount>
        <cfscript>
            if(len(get_ship_row.discount[i]))indirim = get_ship_row.discount[i]; else indirim = 0;
            adim_1 = get_ship_row.amount[i] * get_ship_row.price[i];
            adim_2 = (adim_1/100)*(100-indirim);
            adim_3 = adim_2*(get_ship_row.tax[i]/100);
            adim_4 = adim_2+adim_3;
        </cfscript>
        <cfquery name="GET_BARCODE" datasource="#DSN3#">
            SELECT
                BARCOD
            FROM
                PRODUCT
            WHERE 
                PRODUCT_ID = #get_ship_row.product_id[i]#
        </cfquery>
            <table>
          <tr>
            <td style="width:30mm;"><cfoutput>#get_ship_row.stock_code[i]#</cfoutput></td>
        <td style="width:50mm;"><cfoutput>#left(get_ship_row.name_product[i],53)#</cfoutput></td>
        <td style="width:25mm;" align="right"><cfoutput>#get_ship_row.amount[i]# #get_ship_row.unit[i]#</cfoutput></td>
        <td style="width:25mm;" align="right"><cfoutput>#TLFormat(get_ship_row.price[i])#</cfoutput> TL</td>
        <td style="width:35mm;" align="right"><cfoutput>#TLFormat(get_ship_row.amount[i] * get_ship_row.price[i])#</cfoutput> TL</td>
      </tr>
    </table>    
    </cfif>
  </cfloop>

这里展示了一个名称和价格的列表,我只想计算它们的价格总和,我指的是所有产品的价格。我该怎么做?谢谢你的帮助

我只是根据您假定的数据库结构进行猜测。我建议将计算完全转移到查询中,这样db服务器就可以做它最擅长的工作。在CF中操纵这样的东西并不是最理想的

您必须对此进行测试,但我认为距离开始测试已经足够近了:

    <cfquery name="GET_SHIP_ROW" datasource="#DSN2#">
SELECT
    SR.*,
    S.STOCK_CODE,
    ( (sr.amount*sr.price) * ( (100-discount)/100 ) * ( tax/100 ) ) as itemCost
FROM
    SHIP_ROW SR,
    #dsn3_alias#.STOCKS S
WHERE
    SR.STOCK_ID = S.STOCK_ID AND 
    SR.SHIP_ID = #attributes.ship_id#
ORDER BY
    SR.SHIP_ROW_ID
   </cfquery>
记录集中有行项目总数后,运行查询查询以获取所有行项目的总和非常简单:

<cfquery name="total" dbtype="query">
select sum(itemCost) as shipmentTotal from GET_SHIP_ROW
</cfquery>

这有用吗?

我只是根据您假定的数据库结构进行猜测。我建议将计算完全转移到查询中,这样db服务器就可以做它最擅长的工作。在CF中操纵这样的东西并不是最理想的

您必须对此进行测试,但我认为距离开始测试已经足够近了:

    <cfquery name="GET_SHIP_ROW" datasource="#DSN2#">
SELECT
    SR.*,
    S.STOCK_CODE,
    ( (sr.amount*sr.price) * ( (100-discount)/100 ) * ( tax/100 ) ) as itemCost
FROM
    SHIP_ROW SR,
    #dsn3_alias#.STOCKS S
WHERE
    SR.STOCK_ID = S.STOCK_ID AND 
    SR.SHIP_ID = #attributes.ship_id#
ORDER BY
    SR.SHIP_ROW_ID
   </cfquery>
记录集中有行项目总数后,运行查询查询以获取所有行项目的总和非常简单:

<cfquery name="total" dbtype="query">
select sum(itemCost) as shipmentTotal from GET_SHIP_ROW
</cfquery>

这有帮助吗?

如何在代码中插入它?这样地?TLFormatget\u ship\u row.shipmentTotal或类似的TLFormattotal.ShipmentTotal2Scritler它没有帮助,你修改的查询会使页面崩溃,但我得到了逻辑,我希望剩下的一定更简单:我确实说过你必须测试它-我猜测你的数据库结构和数据,所以从一开始就没有100%的可能性。坚持下去……你会得到你需要的。这就是标记派上用场的地方。如何在代码中插入它?这样地?TLFormatget\u ship\u row.shipmentTotal或类似的TLFormattotal.ShipmentTotal2Scritler它没有帮助,你修改的查询会使页面崩溃,但我得到了逻辑,我希望剩下的一定更简单:我确实说过你必须测试它-我猜测你的数据库结构和数据,所以从一开始就没有100%的可能性。坚持下去……你会得到你需要的。这就是标签派上用场的地方。