問題に行き詰まり、誰かがそれを修正する方法についてアイデアを持っているかどうかを確認できると思いました.
基本的に、単一の変数の下に複数の値を渡し、ループを使用して個々の値を抽出し、同時に挿入したいと考えています。
たとえば、ischecked はデバイス値を渡すために使用する変数です。2 つのデバイスを選択し、[送信] を押して、変数 #form.ischecked# を処理ページにダンプすると、たとえば 41,42 という値が得られます。これらの値を分割する方法が必要であり、cfloop と挿入が最適であると考えました。
それが重要な場合、これはすべてcfcで行われます。
<cfset devicearray = ArrayNew(1)>
<cfset temp = ArrayAppend(devicearray, #ischecked#)>
<cfset test = ArrayToList(devicearray, ",")>
<cfset length= ListLen(test)>\
\\this loop takes the amount of devices selected, and outputs the length of the list.
これを使用して、挿入ループの長さを調べます。もともと配列の長さをチェックすることもできましたが、リストを別の目的にも使用するつもりでした。
<cfset devicetest = #form.ischecked#>
<cfset usertest = #form.userid#>
\\form.ischecked is the variable that contains the device IDs
\\form.userid is the variable that contains the User IDs
<cfquery name="loopquery" datasource="Test">
<cfloop from="1" to="#length#" index="i">
\\loop from 1 to "length", the number of Devices selected as specified earlier
INSERT INTO Loan (DeviceID, UserID)
VALUES ("#Evaluate("devicetest#i#")#","#Evaluate("userID#i#")#" )
</cfloop>
</cfquery>
つまり、基本的にはそこに行き詰まっています。ループは値を調べますが、デバイス テストではなく devicetest1 を探します (インデックスのため)。それぞれを個別に選択するようにします。
値にインデックス (i) を追加し、それを使用して挿入する例をいくつか見ましたが、それがどのように機能するかはよくわかりませんでした。
ありがとう、ジョーダン