获取行和列的总和
到目前为止,我已经制作了一个包含产品及其总和的表格,根据一个月,我是这个方面的新手,所以我有一个错误:变量total2_1_27未定义。我无法按月获取产品的总和,到目前为止我发现是按行获取的,但无法按列获取...所以这里是代码: http://jsfiddle.net/Tskak/1/ 我只是不明白如何定义这总共2,这一行:
<cfset 'total2_#ddd_other#_#p_index#'=evaluate('total2_#ddd_other#_#p_index#') + #evaluate('alan2_#ddd_other#_#p_index#')#>
请有人帮忙!并感谢大家的帮助!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
希望您使用的是 SQL Server 2005 或更高版本。由于使用了 DATEPART 函数,我假设您使用的是 SQL Server。我实际上会使用 SQL Server 中的 PIVOT 命令来解决您的问题按产品 ID 和月份列出总计列表,并将其转换为
CFQUERY
中的列。它将大大减少页面上的代码量,如果您在查询中进行总计,则应将代码减少到CFQUERY
,然后是一个简单的CFOUTPUT
/CFLOOP
围绕着桌子。它将删除您的所有列表和列表中的循环。将使这个页面成为编码的乐趣,而不是现在的头痛。Hopefully you are on SQL Server 2005 or greater. I am assuming you are on SQL Server because of the use of the DATEPART function. I would actually tackle your problem using the PIVOT command in SQL Server to take your list of totals by product ID and month and convert them to columns in your
CFQUERY
. It will greatly reduce the amount of code on the page and if you do the totaling in the query should reduce the code down to theCFQUERY
and then a simpleCFOUTPUT
/CFLOOP
around the table. It will get rid of all your lists and loops within your lists. Will make this page a joy to code instead of the headache it is now.不要在 cfset 中使用评估或将变量名称放在引号内,例如
。而是像这样引用变量:
或
这是假设该值在变量范围内。如果它在会话范围内,您将引用它
session['total2_' & ddd_other & '_' & p_index]
。您还可以在 CF8 和 CF9 中使用 +=,这样就可以了:Don't use evaluate or put variable names inside quotes in a cfset like
<cfset 'blah_#x#' = foo>
.Instead refer to variables like this:
or
This is assuming that the value is in the variables scope. If it was in say session scope you'd refer to it
session['total2_' & ddd_other & '_' & p_index]
. Also you can use += in CF8 and CF9, so this would be fine: