Repost/Edit: apparently msoft forefront exchange server thinks I was being profane.
You don't need evaluate for dynamically created form variables, in almost all cases the struct syntax #form['type'&idx]# will suffice and is more efficient. For this particular scenario, evaluate is an unnecessary overhead and should be avoided. <cfquery datasource="#request.datasource#"> <cfloop from="1" to="#rows#" index="idx"> INSERT INTO tbl_ballotOrder ( type, number, issue ) VALUES ( <cfqueryparam value="#form['type'&idx]#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form['number'&idx]#" cfsqltype="cf_sql_integer" />, <cfqueryparam value="#form['issue'&idx]#" cfsqltype="cf_sql_varchar" /> ) </cfloop> </cfquery> May I also point out the use of CFQUERYPARAM. It's basic principles; unless you've got a *very* fine reason not to, always use cfqueryparam. Protect yourself from SQL injection attacks, make your life easier. No offence intended, but Will I urge you to ignore the 'evaluate' based advice. Cheers, Gabriel -----Original Message----- From: Ryan Letulle [mailto:bayous...@gmail.com] Sent: Wednesday, 10 June 2009 10:25 AM To: cf-talk Subject: Re: CFLOOP inside a CFQuery I agree with NK pay attention to the evaluate function. It works like a charm for dynamically created form variables. I use it often. :) -- Ryan LeTulle On Tue, Jun 9, 2009 at 6:30 PM, N K <neetukais...@gmail.com> wrote: > > Check the following link might help... > http://tutorial431.easycfm.com/ > > > > Hello all, > > > I have a dynamically generated form that I need to figure out how to > > get the data from that form in to our database. Here is the way it > > works. First the client types in the number of machines they have > > and the form generates the correct number of rows so that the info > > about each machine is located on a separate row. That all works well > > until they hit submit (or will hit submit if I figure out the next part). > > How do I create a cfquery that has the correct number of values so > > that each machines data is stored correctly? > > > > For example I will have row one with lets say three fields (Type, > > number, issue). Lets say a client has a problem with 10 machines. > > The form now has 10 rows with 3 columns in each. Each field in row > > one is named type1, number1, issue1 and row two is type2, number2, > > issue2, etc.. The number next to the name is placed there by > > putting the index of the loop in the name field. So this is where I > > was going to use a CFLOOP inside a CFquery to create field names > > dynamically. I can get it to repeate the information correctly, > > however the problem is the index of the loop does not seem to get > > attached to the form value I am putting into the database. > > > > I am doing something like: > > > > <cfquery datasource="#request.datasource#"> > > INSERT into tbl_ballotOrder (type, number, issue) Values ( <cfloop > > from="1" to="#rows#" step="1" index="LoopCount"> > > > > '#FORM.type##LoopCount#', '#FORM.number##LoopCount#', '#FORM. > > issue##LoopCount#' > > > > </cfloop> > > ) > > </cfquery> > > </cfif> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:323306 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4