Для ссылки на динамические имена столбцов вы можете использовать обозначение массива. Но, как я уже говорил, вы должны указать номер строки.
#queryName["columnName"][rowNumber]#
Если вы знаете, что запрос содержит только одну (1) запись, вы можете использовать свойство recordCount объекта запроса в качестве номера строки. Кроме того, вы можете жестко закодировать номер строки "1". (Лично мне не нравится жесткое программирование). Но любой из них должен работать.
<!--- pick ONE option --->
<cfloop from="1" to="#form.days#" index="i">
<!--- syntax option 1 --->
<cfinput type="datefield" name="ses#i#Date" value="#DateFormat(qGetUWHeader['ses#i#Date'][qGetUWHeader.recordCount], 'yyyy-mm-dd')#" />
<!--- syntax option 2 --->
<cfinput type="datefield" name="ses#i#Date" value="#DateFormat(qGetUWHeader['ses'& i &'Date'][qGetUWHeader.recordCount],'yyyy-mm-dd')#" />
<!--- syntax option 3 --->
<cfinput type="datefield" name="ses#i#Date" value="#DateFormat(qGetUWHeader['ses#i#Date'][1], 'yyyy-mm-dd')#" />
</cfloop>
Если, однако, вы просматриваете несколько записей в запросе qGetUWHeader, вы можете использовать свойство объекта currentRow объекта запроса в качестве номера строки. Но, исходя из соглашения об именовании полей, я предполагаю, что запрос содержит только одну (1) запись.
EDIT:
Я забыл про начальные нули. Вы можете применить простое условие if и вызывать DateFormat () только в том случае, если значение запроса является действительной датой.
<cfloop from="1" to="#form.days#" index="i">
<cfset dateValue = qGetUWHeader["ses#i#Date"][qGetUWHeader.recordCount]>
<!--- if this is a valid date, format the value --->
<cfif IsDate(dateValue)>
<cfset dateValue = dateFormat(dateValue, "yyyy-mm-dd")>
</cfif>
<cfinput type="datefield" name="ses#i#Date" value="#dateValue#" /><hr>
</cfloop>
Другой вариант - отформатировать даты в вашем SQL. Тогда вам не нужно будет использовать функцию DateFormat () CF. Просто помните, что новым результатом будет строка, , а не объект datetime.
SELECT DATE_FORMAT(ses1Date, '%Y-%m-%d') AS ses1Date, ....