使用cfloop索引表单值

时间:2018-04-13 15:38:16

标签: sql-server forms coldfusion cfloop

我使用cfloop创建表单并使用数据库查询中的值填充文本字段。我还创建了一个数组。它在输入框中返回" depthinput1"," deptinput2"等等,而不是数据库字段中的值。任何帮助将不胜感激。

loadData

Image of Form

2 个答案:

答案 0 :(得分:2)

如果没有数据转储,很难说出数据是如何实际存储的,这使问题有点混乱。

“depthinput1”,“depthinput2”是查询中列的名称吗?

RecordID | DepthInput1 | DepthInput2 | ... | DepthInputN
1        |     35.5    | 86.2        | ... |    14.6   

... OR是实际存储在不同行中的“depthInput”值吗?

RecordID | DepthInput 
1        |    35.5    
2        |    86.2 
....
86       |    14.6  

如果它们是查询列,请考虑重构数据库表。类似的列名如“thing1”,“thing2”,......通常是指示数据应存储在单独的行中(如上所述)。如果您确实无法更改结构,请使用关联数组表示法动态访问查询列,queryName["columnName"][rowNumber]#

<cfoutput query="flowQy">
   <!--- determines which columns to display:  -->
   <cfloop from="0" to="#totalSegment#" index="i">
    <input name="depthInput#i#" value="#flowQy['depthInput'& i+1][flowQy.currentRow]#"><br>
   </cfloop>
</cfoutput>

如果值实际存储在单独的行中,只需遍历查询并使用queryName.currentRow作为索引。

<cfoutput query="flowQy">
    <input name="depthInput#flowQy.currentRow-1#" 
        value="#flowQy.depthInput#"><br>
</cfoutput>

答案 1 :(得分:1)

我想你想要更像的东西:

<cfoutput query="flowQy">
 <input name="depthinput#currentRow#" type="text" ... value="#somecolumninQuery#" id="depthinput#currentRow#" />
</cfoutput>

很难说出你的代码甚至试图做什么,或者确切地说你想要引用的数据在哪里。