Я имею в виду предыдущий SO Coldfusion Calculate Sum Total (Loop?), который был помечен как правильный ответ, но код для меня не работает.Значения сумм в cfloop
Я пытаюсь создать общую сумму из нескольких полей. Но ошибка, которую я получаю, заключается в том, что «переменная xxx не определена». Это потому, что я пытаюсь добавить значения из цикла для всех записей
<cfoutput>
<cfquery name="ActivityReceipts" dbtype="query">
SELECT
activity,
qty_approved,
location,
payment_amount,
shipping_cost,
handling_cost
FROM rc.RC1
WHERE id_number = '#Receipts.id_number#'
</cfquery>
<cfloop query="ActivityReceipts">
<tr>
<td style="text-align:left;">#ActivityReceipts.activity#</td>
<td style="text-align:left;">#ActivityReceipts.qty_approved#</td>
<td style="text-align:left;">#ActivityReceipts.location#</td>
<td style="text-align: right; padding-right: 80px;">#ActivityReceipts.payment_amount#</td>
</tr>
<cfset grandTotal = grandTotal + (#ActivityReceipts.payment_amount# + #ActivityReceipts.handling_cost# + #ActivityReceipts.Shipping_cost#) />
</cfloop>
<td>#grandTotal#</td>
</cfoutput>
Обратите внимание, что если изменить переменную строку настройки GrandTotal в
<cfset grandTotal = (#ActivityReceipts.payment_amount# + #ActivityReceipts.handling_cost# + #ActivityReceipts.Shipping_cost#) />
это не вызывает ошибку, но также суммирует только последнюю строку, а не все из них.
Ничего общего с вашей ошибкой, но нет необходимости обертывать 'cfquery' в' cfoutput', только часть html. # Переменные # внутри тега запроса будут оцениваться автоматически. Кроме того, не забудьте использовать 'cfqueryparam' для защиты от SQL-инъекции. – Leigh