2009-07-28 15 views
0

ユーザー入力に基づいて変更されるすべての名前フィールド(フォーム変数)にインデックスを設定するループを含むフォームのテーブルがあります(ユーザーは、ビルド)。 提出された後、私はこれらの変数をとり、そこから構造体を作成します。私は、クエリオブジェクトがすでに構造体であることを知っていますが、各テーブルの名前を一意にしてから、構造体に入れてDBに挿入することができます。 私の問題は、これをいかに正確かつ効率的に書くかです。私はループを介して各反復のための名前を一意にするために、私のインデックスである入れ子にされた変数で変数を持つ必要があります。私はポンド記号と引用符の多くの組み合わせを試して、それを得ることができません。 これを行うためのより良い方法がある場合は、私もそれを手にしています! ドット表記ネストされたループ変数を含む変数のネストされたポンド記号

  • のcfset体mystruct#I#= StructNew()>
  • のcfset体mystruct#I#.ID#I#= "#form.myVarA#iが##"
  • のcfset体mystruct#私#.S1#iが#= "#form.myVarB#iが##"
  • のcfset体mystruct#I#.s2#iは#= "#form.myVarC#iが##"

関連配列表記

  • のcfset体mystruct#I#= StructNew()>
  • のcfset体mystruct#iが#[ID#Iの#] =
  • のcfset体mystruct#iは、#[S1# "#form.myVarA番号iが##" I#

]を= "#form.myVarB#iが##"

  • のcfset体mystruct#I#[S2#I#] = "私は###form.myVarC位" 任意の助けを大幅に高く評価されています。

  • 答えて

    6

    これは、あなたが今までCFMLの変数を理解する必要があります最良の参照です:これはあなたを与える必要があり

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

    をこれを試して、あなたの質問に答えるために

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

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

    +0

    大変感謝しています - 魅力と素晴らしいレファレンスのような作品です! –

    +4

    +0

    また、文字列として連結することもできます(よりわかりやすい):form ["myVarA"&i] – ale

    関連する問題