У меня есть таблица, в которой записываются названия загруженных документов, до 14 на запись. Столбцы названы так:
TABLE tblDocuments
COLUMNS documentID (int, not null, pk)
document1 (varchar(250), null)
document2 (varchar(250), null)
/* and this continues through */
document14 (varchar(250), null)
Поэтому я запрашиваю любые документы для конкретной записи:
<cfquery name="qryGetDocs" datasource="#dsn#">
SELECT document1, ...document14
FROM tblDocuments
WHERE documentID = <cfqueryparam name="SESSION.documentID" cfsqltype="cf_sql_integer">
</cfquery>
Форма выглядит примерно так:
<form name="frmUploadDocs" method="post" action="documentsPage.cfm">
<input type="file" name="document1" size="50" >
<cfif qryGetDocs.document1 IS NOT ''>
(current file name: <a href="#vars.file_path#/#qryGetDocs.document1#">#qryGetDocs.document1#</a>)</cfif>
<input type="file" name="document2" size="50" >
<cfif qryGetDocs.document2 IS NOT ''>
(current file name: <a href="#vars.file_path#/#qryGetDocs.document2#">#qryGetDocs.document2#</a>)</cfif>
<!--- list all documents --->
<input type="file" name="document14" size="50" >
<cfif qryGetDocs.document14 IS NOT ''>
(current file name: <a href="#vars.file_path#/#qryGetDocs.document14#">#qryGetDocs.document14#</a>)</cfif>
<input type="submit" name="submit" value="Upload Documents">
</form>
Я хочу выполнить цикл от 1 до 14, чтобы у меня был только один оператор <input>
и <cfif>
, например:
<cfloop from="1" to="14" index="i">
<input type="fiile" name="document#i#" size="30">
<cfif qryGetDocs.document#i# IS NOT ''>
(current file name: <a href="#vars.file_path#/#qryGetDocs.document[#i#]#">#qryGetDocs.document[#i#]#</a>)
</cfif>
</cfloop>
Однако я не могу получить правильный синтаксис независимо от того, что я пробовал. Может кто-нибудь, пожалуйста, помогите мне с этим? Спасибо!