I wouldn't replace the colons with commas - the description could easily contain a comma. Try:
<cfloop list="#prodVar#" index="i" delimiters="~"> <cfquery datasource="#dsn#"> UPDATE tblProducts SET qtyOnHand = qtyOnHand - <cfqueryparam cfsqltype="cf_sql_int" value="#listGetAt(i, 2, ":")#"> WHERE productCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#listGetAt(i, 4, ":")#"> </cfquery> </cfloop> On Mon, 20 Dec 2004 22:45:43 -0400, Will Tomlinson <[EMAIL PROTECTED]> wrote: > I'm trying to write some code that updates my db with a new qty value after > someone makes a purchase on my Mal's shopping cart. You can tell Mal's to run > a script via HTTP call after someone completes a purchase. It passes a cart > variable to the script, and you can do what you like with it. I'm trying to > loop through and update the qty field for all the items purchased. Could > someone look at my logic and tell me how to improve it. I know this can't be > right, but I've never written something like it before. It's commented well > but let me know if you need more info. > > <!---The cart info variable "#URL.cart#" arrives at my template via HTTP > call, and looks like this. description:quantity:price:productcode > delimited by ~ > > product description 1 blah blah:1:24.99:FX25~product description 2 blah > blah:3:19.99:MX25~product description 3 blah blah:1:49.99:CX25 > > ---> > > <!---I want to replace all the semicolons with a comma to start off with---> > > <cfset URL.cart = #Replace(URL.cart, ":", ". "ALL")#> > > <!---So now our new variable should look like this: > > product description 1 blah blah,1,24.99,FX25~product description 2 blah > blah,3,19.99,MX25~product description 3 blah blah,1,49.99,CX25 > > ---> > > <!--- I want to loop through this list of cart items, and update tblproducts > "qtyonhand" field with the current number minus items passed from cart > variable value. ~ is the delimeter for this list---> > > <cfloop list="#URL.cart#" index="cartitem" delimeter="~"> > <cfset productcode = "#listgetat(cartitem, 4)#"> > <cfquery name="getqtys" datasource="#DSN#"> > SELECT qtyonhand FROM tblproducts > WHERE productcode='#productcode#' > </cfquery> > > <cfset newqtyonhand = #getqtys.qtyonhand# - #listgetat(cartitem, 2)#> > > <cfquery name="updateqtyonhand" datasource="#DSN"> > > UPDATE tblproducts SET(qtyonhand) VALUES(#newqtyonhand#) > WHERE productcode='#productcode#' > > </cfquery> > </cfloop> > > Thanks, > Will > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Special thanks to the CF Community Suite Silver Sponsor - RUWebby http://www.ruwebby.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:188354 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

