2009-07-28 147 views
0

我有一个表格,其中包含一个循环,它在所有名称字段(表单变量)上设置索引,这些名称字段会根据用户输入进行更改(用户指定有多少表获得建)。 提交后,我将这些变量并从中创建一个结构。我知道一个查询对象已经是一个结构,但我必须让每个表名都是唯一的,然后将它们放入一个结构体中,然后我可以重命名以插入到数据库中。 我的问题是如何正确和有效地写这篇文章?我需要一个嵌套变量的变量,它是我的索引,通过循环为每个迭代创建唯一的名称。我已经尝试过许多英镑符号和报价的组合,并且无法得到它。 如果有更好的方法来做到这一点,我也为此而努力! 点符号在嵌套循环变量周围嵌套磅标志变量

  • CFSET MYSTRUCT#I#= StructNew()>
  • CFSET MYSTRUCT#I#.ID#I#= “#form.myVarA#我##”
  • CFSET MYSTRUCT#我#.S1#I#= “#form.myVarB#我##”
  • CFSET MYSTRUCT#I#.S2#I#= “#form.myVarC#我##”

相关数组符号

  • CFSET MYSTRUCT#I#= StructNew()>
  • CFSET MYSTRUCT#I#[ID#I#] = “#form.myVarA#我##”
  • CFSET MYSTRUCT#I#[S1#I# ] = “#form.myVarB#我##”
  • CFSET MYSTRUCT#I#[S2#I#] = “#form.myVarC#我##”

任何帮助不胜感激。

回答

6

这是你永远需要了解变量在CFML最好的参考:

http://www.depressedpress.com/Content/Development/ColdFusion/Guides/Variables/Index.cfm

要回答你的问题,试试这个:

<cfset myStruct["#i#"] = structNew() /> 
<cfset myStruct["#i#"]["ID#i#"] = form["myVarA#i#"] /> 
<cfset myStruct["#i#"]["s1#i#"] = form["myVarB#i#"] /> 

这应该给你:

myStruct.1.id1 = form.myvarA1 myStruct.1.s11 = form.myvarB1

+0

巨大的感谢 - 像魅力和伟大的参考作品! – 2009-07-28 01:17:37