Я пытаюсь установить заголовки столбцов динамических запросов, чтобы получить их значения из запроса.
<cfoutput query="qryGetData">
<cfloop from="-18" to="18" index="i">
<cfif i GTE 0>
<cfset variables["target_MonthPlus_#abs(i)#"] = "Testing" />
<td>
<cfoutput>#variables["target_MonthPlus_#abs(i)#"]#</cfoutput>
</td>
<cfelse>
<cfset variables["target_MonthMinus_#abs(i)#"] = "Testing" />
<td>
<cfoutput>#variables["target_MonthMinus_#abs(i)#"]#</cfoutput>
</td>
</cfif>
</cfloop>
Код, который у меня есть, на самом деле не работает, я нашел его из другого ответа, и я перепробовал все, что мог придумать, и попытался использовать EVALUATE(), хотя я знаю, что не должен его использовать.
Таким образом, в основном мой запрос имеет 37 полей месяца, начиная с target_MonthMinus18 до target_MonthMinus1. А затем от target_MonthPlus0 до target_MonthPlus18. Я позаботился об этом плюсе и минусе с CFIF, как вы можете видеть выше. Таким образом, единственное отличие - это значение месяца.
Ближайшие вещи, которые у меня есть, чтобы динамически называть столбцы, примерно так, но это просто выводит имя столбца, которое будет возвращать target_MonthPlus0, target_MonthPlus1, targetMonthPlus2 и т. д. Но мне нужно использовать это имя, чтобы вернуть фактическое значение столбцы из запроса.
<cfif i GTE 0>
<cfset monthInLoop = "target_MonthPlus_" & #ABS(i)#>
<td>
<cfoutput>#monthInLoop#</cfoutput>
target_monthMinus18 — это имя столбца, которое может возвращать значение 100 из qryGetData, которое мне нужно отобразить в его td.
target_monthMinus17 — это имя столбца, которое может возвращать значение 95 из qryGetData, которое мне нужно отобразить в его td.
target_monthPlus17 — это имя столбца, которое может возвращать значение 205 из qryGetData, которое мне нужно отобразить в его td.
и так далее... Мы всегда возвращаемся на 18 месяцев назад и на 18 месяцев в будущее, как вы понимаете.
Я нашел несколько вопросов, похожих на этот, и применил их к моему коду, но они почему-то пытаются делать разные вещи или я до сих пор не понимаю, что я делаю неправильно.
Заранее спасибо за вашу помощь :)
PC