Question
Processing nulls from a form
Hi, I have a query which populates a form, which the user can
then amend. I am updating the database with the form data. The
problem i have is that if a user amends a field to null (which they
are allowed to do) my processing goes wrong as i am treating the
form fields as lists.
I think i need to put the form data into an array? but i'm not sure how to structure it. My current processing code is:
<cfset ElementNumber = 0>
<cfloop list="#ModuleCode#" index="ListElement">
<cfset ElementNumber = ElementNumber + 1>
<cfif UpdatesAllowed EQ "Y">
<cfquery name="qUpdate" datasource="DMDs">
UPDATE utbl_main
SET Flag2005 = '#ListGetAt(Flag2005,ElementNumber)#',
statusnextyr = '#ListGetAt(statusnextyr,ElementNumber)#',
ActSem1 = '#ListGetAt(ActSem1,ElementNumber)#',
ActSem2 = '#ListGetAt(ActSem2,ElementNumber)#',
ActSem3 = '#ListGetAt(ActSem3,ElementNumber)#',
ActSemCom = '#ListGetAt(ActSemCom,ElementNumber)#'
WHERE ModuleCode = '#ListElement#'
</cfquery>
<cfelse>
<cfquery name="qUpdate" datasource="DMDs">
UPDATE utbl_main
SET Flag2005 = '#ListGetAt(Flag2005,ElementNumber)#',
ActSemCom = '#ListGetAt(ActSemCom,ElementNumber)#'
WHERE ModuleCode = '#ListElement#'
</cfquery>
</cfif>
</cfloop>
ANy help much appreciated. Cheers
I think i need to put the form data into an array? but i'm not sure how to structure it. My current processing code is:
<cfset ElementNumber = 0>
<cfloop list="#ModuleCode#" index="ListElement">
<cfset ElementNumber = ElementNumber + 1>
<cfif UpdatesAllowed EQ "Y">
<cfquery name="qUpdate" datasource="DMDs">
UPDATE utbl_main
SET Flag2005 = '#ListGetAt(Flag2005,ElementNumber)#',
statusnextyr = '#ListGetAt(statusnextyr,ElementNumber)#',
ActSem1 = '#ListGetAt(ActSem1,ElementNumber)#',
ActSem2 = '#ListGetAt(ActSem2,ElementNumber)#',
ActSem3 = '#ListGetAt(ActSem3,ElementNumber)#',
ActSemCom = '#ListGetAt(ActSemCom,ElementNumber)#'
WHERE ModuleCode = '#ListElement#'
</cfquery>
<cfelse>
<cfquery name="qUpdate" datasource="DMDs">
UPDATE utbl_main
SET Flag2005 = '#ListGetAt(Flag2005,ElementNumber)#',
ActSemCom = '#ListGetAt(ActSemCom,ElementNumber)#'
WHERE ModuleCode = '#ListElement#'
</cfquery>
</cfif>
</cfloop>
ANy help much appreciated. Cheers