Hi,
I have attached a set of functions that I use to
- Dynamically create these fieldnames
- Read the value from these dynamic fieldnames
- Read and format these values for DB use
I have updated your example, but since I don't have the
tables setup I cannot verify if the updated script even works.
Hope that helps
cheers,
fober
<cfparam name="ID_ROW" default="0">
<cfif isdefined("btn_send")>
<cfloop index="ID_ROW" from="1" to="#form.count#"
step="1">
<cfquery datasource="veryvip">
INSERT INTO itransact{
sfiid,
name,
package,
total,
hashinfo}
VALUES(
#dbvalue('sfiid','number')#,
#dbvalue('name','string')#,
#dbvalue('package','number')#,
#dbvalue('total','number')#,
#dbvalue('hashinfo','string')#)
</cfquery>
</cfloop>
<cfabort>
</cfif>
<cfquery datasource="veryvip" name="prepare">
select c.*, i.*
from itransact i, customers c
where i.sfiid=c.sfiid
</cfquery>
<cfform action="index.cfm" method="POST">
<table cellpadding="1" cellspacing="0" border="1"
bordercolor="#006699">
<cfoutput query="prepare">
<cfset ID_ROW= ID_ROW +1>
<tr>
<td align="center">
<input type="checkbox" name="#fieldname(mark)#" value="1"
checked visible="Yes" enabled="Yes">
</td>
<td><cfinput type="Text"
name="#fieldname('sfiid')#" value="#sfiid#" required="Yes"
visible="Yes" enabled="Yes" size="5"></td>
<td><cfinput type="Text" name="#fieldname('name')#"
value="#firstname# #lastname#" required="No" visible="Yes"
enabled="Yes"></td>
<td><cfinput type="Text"
name="#fieldname('package')#" value="#package#" validateat="onBlur"
validate="integer" required="Yes" visible="Yes" enabled="Yes"
size="1"></td>
<td><cfinput type="Text"
name="#fieldname('total')#" value="#dollarformat(total)#"
required="Yes" visible="Yes" enabled="Yes" size="3"></td>
<td><cfinput type="Text"
name="#fieldname('hashinfo')#" value="#hash(sfiid)#:#package#"
required="Yes" visible="Yes" enabled="Yes" size="40"></td>
</tr>
</cfoutput>
<tr>
<td> </td>
<td align="center">
<cfinput type="Hidden" name="count" value="#ID_ROW#">
<input type="submit" name="btn_send" value="Send">
</td>
<td colspan="4"> </td>
</tr>
</table>
</cfform>
<!---
==============================================================
--->
<cffunction name="fieldname" output="No">
<cfargument name="field" type="string" default="">
<cfparam name="id_area" default="">
<cfparam name="id_row" default="">
<cfif id_row NEQ "">
<cfset local.field= "#id_row#_#field#">
<cfelse>
<cfset local.field= "#field#">
</cfif>
<cfif id_area NEQ "">
<cfset local.field= "#id_area#_#local.field#">
<cfelseif id_form NEQ "">
<cfset local.field= "#id_form#_#local.field#">
</cfif>
<cfreturn local.field>
</cffunction>
<!---
==============================================================
--->
<cffunction name="fieldvalue" output="No">
<cfargument name="field" type="string" default="">
<cfset local.temp_field= im_fieldname(field)>
<cfif isdefined("#local.temp_field#") IS TRUE>
<cfset local.temp_value=
evaluate("#local.temp_field#")>
<cfelse>
<cfset local.temp_value= "">
</cfif>
<cfreturn local.temp_value>
</cffunction>
<!---
==============================================================
--->
<cffunction name="dbvalue" output="No">
<cfargument name="field" type="string" default="">
<cfargument name="type" type="string"
default="string">
<cfswitch expression="#type#">
<cfcase value="string">
<cfreturn "'#fieldvalue(field)#'">
</cfcase>
<cfcase value="number">
<cfreturn "'#fieldvalue(field)#'">
</cfcase>
<cfcase value="date">
<cfreturn "'#CreateODBCDate(fieldvalue(field))#'">
</cfcase>
</cfswitch>
<cfset local.temp_field= im_fieldname(field)>
<cfif isdefined("#local.temp_field#") IS TRUE>
<cfset local.temp_value=
evaluate("#local.temp_field#")>
<cfelse>
<cfset local.temp_value= "">
</cfif>
<cfreturn local.temp_value>
</cffunction>