<!---
NAME: <codetable>
--->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- To Use --->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- 1. add this page to your custom tags as codetable.cfm --->
<!--- 2. to use: create a blank page and save it as the tableNameYouWantToUse.cfm --->
<!--- 3. call the tag <cf_codetable mydsn="datasourcename" mytable="TableName" mykey="PrimaryKey"> --->
<!--- 4. run the page in your browser --->
<!--- 5. copy the code that is produced to your tableNameYouWantToUse.cfm eracing the call for tag --->
<!--- 6. run the page again in browser customize as needed --->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
<!--- attributes --->
<CFPARAM name="Attributes.mydsn" default="changeme">
<CFPARAM name="Attributes.mytable" default="whichtable">
<CFPARAM name="Attributes.mykey" default="primarykey">
<!--- VARIABLES --->
<cfoutput>
<cfset datasourcename = "#Attributes.mydsn#">
<cfset tablename = "#Attributes.mytable#">
<cfset pk_field = "#Attributes.mykey#">
</cfoutput>
<cfquery name="team" datasource="#datasourcename#" dbtype="ODBC">
SELECT *
FROM #tablename#;
</cfquery>
<cfset pk_field = UCase(pk_field)>
<cfset the_fields = team.ColumnList>
<cfset pk_position = ListFInd(the_fields, pk_field)>
<cfset the_fields = ListDeleteAt(the_fields, pk_position)>
<cfset number_columns = ListLen(the_fields)>
<cfparam name="URL.a" default="l"><br>
<cfloop index="x" list="#the_fields#">
<cfoutput><cfparam name="#tablename#.#x#" default=""></cfoutput><br>
</cfloop><br>
<cfswitch expression="#URL.a#"><br>
<cfcase value="i"><br>
<cfoutput><cfquery name="insert_#tablename#" datasource="#datasourcename#" dbtype="ODBC"><br>
INSERT INTO #tablename# (
<cfset a = number_columns>
<cfloop index="x" list="#the_fields#">
<cfset a = a -1>
#x#<cfif a GT 0>,</cfif></cfloop>)<br>
VALUES (<cfset a = number_columns>
<cfloop index="x" list="#the_fields#">
<cfset a = a -1>'##FORM.#x###'<cfif a GT 0>,</cfif></cfloop>)<br>
</cfquery></cfoutput><br><br>
<cfoutput><cfloop index="x" list="#the_fields#">
<cfset #tablename#.#x# = FORM.#x#><br>
</cfloop></cfoutput>
</cfcase><br>
<cfcase value="s"><br>
<cfoutput><cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"><br>
SELECT * FROM #tablename#<br>
WHERE #pk_field# = ##URL.ID##;<br></cfoutput>
</cfquery><br>
</cfcase><br>
<cfcase value="u"><br>
<cfoutput><cfquery name="update_#tablename#" datasource="#datasourcename#" dbtype="ODBC"><br>
UPDATE #tablename#<br>
SET
<cfset a = number_columns>
<cfloop index="x" list="#the_fields#">
<cfset a = a -1>
#x# = '##FORM.#x###'<cfif a GT 0>,</cfif><br></cfloop>
WHERE #pk_field# = ##URL.ID##;<br>
</cfquery><br>
</cfoutput>
<cfoutput><cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"><br>
SELECT * FROM #tablename#<br>
WHERE #pk_field# = ##URL.ID##;<br>
</cfquery><br>
</cfcase><br>
</cfoutput>
<cfoutput>
<cfcase value="d"><br>
<cfquery name="#tablename#" datasource="#datasourcename#" dbtype="odbc"><br>
SELECT * FROM #tablename#<br>
WHERE #pk_field# = ##URL.ID##;<br>
</cfquery><br>
<cfquery name="remove_#tablename#" datasource="#datasourcename#" dbtype="odbc"><br>
DELETE FROM #tablename#<br>
WHERE #pk_field# = ##URL.ID##;<br>
</cfquery><br>
</cfcase><br><br>
</cfoutput>
<cfoutput>
<cfcase value="l"><br>
<cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"><br>
SELECT *<br>
FROM #tablename#;<br>
</cfquery><br>
</cfcase><br>
</cfswitch><br><br>
</cfoutput>
<cfoutput>
<html><br>
<head><br>
<title>CodeTableTemplate</title><br>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br>
</head><br>
<body><br>
</cfoutput>
<cfswitch expression="#URL.a#"><br>
<cfcase value="n,s"><br>
<cfif URL.a IS "N"><br>
<cfset button_label = "Add"><br>
<cfset a = "i"><br>
<cfelseif URL.a IS "s"><br>
<cfset button_label = "Update"><br>
<cfset a = "u&id=#id#"><br>
</cfif><br>
<cfoutput><br>
<form action="<cfoutput>#tablename#</cfoutput>.cfm?a=#a#" method="post"></cfoutput><br>
<table border="0" cellpadding="2" cellspacing="0"><br>
<cfoutput>
<cfloop index="x" list="#the_fields#">
<tr><br>
<td align="right">#x#</td><br>
<td><input name="#x#" type="text" id="#x#" value="<cfoutput>###tablename#.#x###</cfoutput>"></td><br>
</tr><br>
</cfloop>
</cfoutput>
<tr><br>
<Td></Td><br>
<Td><cfoutput><input name="" type="submit" value="#button_label#"></cfoutput><br>
<cfif URL.a IS "s"><br>
<cfoutput><br>
</td></form><br><td><br>
<form action="<cfoutput>#tablename#</cfoutput>.cfm?a=d&id=#URL.ID#" method="post"><input type="submit" value="Delete">
</cfoutput></cfif></Td></form><br>
</tr><br>
</table><br>
</cfcase><br><br>
<cfcase value="i,d,u"><br>
<cfif URL.a IS "i"><br>
You have just added a record:<br><br>
<cfelseif URL.a IS "d"><br>
YOu have just removed the record:<br><br>
<cfelseif URL.a IS "u"><br>
You have just updated the record:<br><br>
</cfif><br>
<cfoutput><br>
<cfloop index="x" list="#the_fields#">
<cfoutput>###tablename#.#x###<br><br></cfoutput>
</cfloop>
</cfoutput><br>
<cfoutput><a href="#tablename#.cfm?a=l">LIST</a><br></cfoutput>
</cfcase><br>
<cfcase value="l"><br>
<cfoutput><br>
<form action="<cfoutput>#tablename#</cfoutput>.cfm?a=n" method="post"><input type="submit" value="Add"></form>
</cfoutput><br>
<table border="1"><br>
<tr><br>
<cfoutput>
<cfloop index="x" list="#the_fields#">
<td>#x#</td><br>
</cfloop>
</cfoutput>
</tr><br>
<cfoutput><cfoutput query="#tablename#"></cfoutput><br>
<tr><br>
<cfloop index="x" list="#the_fields#">
<td><cfoutput>###x###</cfoutput></td><br></cfloop>
<td><a href="<cfoutput>#tablename#</cfoutput>.cfm?a=s&id=#<cfoutput>#pk_field#</cfoutput>#">Edit</a></TD><br>
</tr><br>
</cfoutput><br>
</table><br>
</cfcase><br>
</cfswitch><br>
</body><br>
</html><br>