Code Snippets

  

ColdFusion Source Code


Welcome to Dream.In.Code
Getting Help is Easy!

Join 131,097 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,130 people online right now. Registration is fast and FREE... Join Now!





Codetable

custom tag to buils a quick page that allows you to edit database info great for building admin sections of ecomm sites

Submitted By: wiredwizard
Actions:
Rating:
Views: 1,290

Language: ColdFusion

Last Modified: May 9, 2005
Instructions: use as custom tag

Snippet


  1. <!---
  2. NAME: <codetable>
  3. --->
  4. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  5. <!--- To Use --->
  6. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  7. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  8. <!--- 1. add this page to your custom tags as codetable.cfm --->
  9. <!--- 2. to use: create a blank page and save it as the tableNameYouWantToUse.cfm --->
  10. <!--- 3. call the tag <cf_codetable mydsn="datasourcename" mytable="TableName" mykey="PrimaryKey"> --->
  11. <!--- 4. run the page in your browser --->
  12. <!--- 5. copy the code that is produced to your tableNameYouWantToUse.cfm eracing the call for tag --->
  13. <!--- 6. run the page again in browser customize as needed --->
  14. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  15. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  16. <!--- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --->
  17.  
  18.  
  19. <!---  attributes --->
  20. <CFPARAM name="Attributes.mydsn" default="changeme">
  21. <CFPARAM name="Attributes.mytable" default="whichtable">
  22. <CFPARAM name="Attributes.mykey" default="primarykey">
  23.  
  24. <!--- VARIABLES --->
  25. <cfoutput>
  26. <cfset datasourcename = "#Attributes.mydsn#">
  27. <cfset tablename = "#Attributes.mytable#">
  28. <cfset pk_field = "#Attributes.mykey#">
  29. </cfoutput>
  30.  
  31.  
  32. <cfquery name="team" datasource="#datasourcename#" dbtype="ODBC">
  33. SELECT *
  34. FROM #tablename#;
  35. </cfquery>
  36. <cfset pk_field = UCase(pk_field)>
  37. <cfset the_fields = team.ColumnList>
  38. <cfset pk_position = ListFInd(the_fields, pk_field)>
  39. <cfset the_fields = ListDeleteAt(the_fields, pk_position)>
  40. <cfset number_columns = ListLen(the_fields)>
  41.  
  42. &lt;cfparam name="URL.a" default="l"&gt;<br>
  43. <cfloop index="x" list="#the_fields#">
  44. <cfoutput>&lt;cfparam name="#tablename#.#x#" default=""&gt;</cfoutput><br>
  45. </cfloop><br>
  46.  
  47. &lt;cfswitch expression="#URL.a#"&gt;<br>
  48. &lt;cfcase value="i"&gt;<br>
  49. <cfoutput>&lt;cfquery name="insert_#tablename#" datasource="#datasourcename#" dbtype="ODBC"&gt;<br>
  50. INSERT INTO #tablename# (
  51. <cfset a = number_columns>
  52. <cfloop index="x" list="#the_fields#">
  53. <cfset a = a -1>
  54. #x#<cfif a GT 0>,</cfif></cfloop>)<br>
  55. VALUES (<cfset a = number_columns>
  56. <cfloop index="x" list="#the_fields#">
  57. <cfset a = a -1>'##FORM.#x###'<cfif a GT 0>,</cfif></cfloop>)<br>
  58. &lt;/cfquery&gt;</cfoutput><br><br>
  59.  
  60. <cfoutput><cfloop index="x" list="#the_fields#">
  61. &lt;cfset #tablename#.#x# = FORM.#x#&gt;<br>
  62. </cfloop></cfoutput>
  63. &lt;/cfcase&gt;<br>
  64.  
  65. &lt;cfcase value="s"&gt;<br>
  66. <cfoutput>&lt;cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"&gt;<br>
  67. SELECT * FROM #tablename#<br>
  68. WHERE #pk_field# = ##URL.ID##;<br></cfoutput>
  69. &lt;/cfquery&gt;<br>
  70. &lt;/cfcase&gt;<br>
  71.  
  72. &lt;cfcase value="u"&gt;<br>
  73. <cfoutput>&lt;cfquery name="update_#tablename#" datasource="#datasourcename#" dbtype="ODBC"&gt;<br>
  74. UPDATE #tablename#<br>
  75. SET
  76. <cfset a = number_columns>
  77. <cfloop index="x" list="#the_fields#">
  78. <cfset a = a -1>
  79. #x# = '##FORM.#x###'<cfif a GT 0>,</cfif><br></cfloop>
  80. WHERE #pk_field# = ##URL.ID##;<br>
  81. &lt;/cfquery&gt;<br>
  82. </cfoutput>
  83.  
  84. <cfoutput>&lt;cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"&gt;<br>
  85. SELECT * FROM #tablename#<br>
  86. WHERE #pk_field# = ##URL.ID##;<br>
  87. &lt;/cfquery&gt;<br>
  88. &lt;/cfcase&gt;<br>
  89. </cfoutput>
  90.  
  91. <cfoutput>
  92. &lt;cfcase value="d"&gt;<br>
  93. &lt;cfquery name="#tablename#" datasource="#datasourcename#" dbtype="odbc"&gt;<br>
  94. SELECT * FROM #tablename#<br>
  95. WHERE #pk_field# = ##URL.ID##;<br>
  96. &lt;/cfquery&gt;<br>
  97. &lt;cfquery name="remove_#tablename#" datasource="#datasourcename#" dbtype="odbc"&gt;<br>
  98. DELETE FROM #tablename#<br>
  99. WHERE #pk_field# = ##URL.ID##;<br>
  100. &lt;/cfquery&gt;<br>
  101. &lt;/cfcase&gt;<br><br>
  102. </cfoutput>
  103.  
  104. <cfoutput>
  105. &lt;cfcase value="l"&gt;<br>
  106. &lt;cfquery name="#tablename#" datasource="#datasourcename#" dbtype="ODBC"&gt;<br>
  107. SELECT *<br>
  108. FROM #tablename#;<br>
  109. &lt;/cfquery&gt;<br>
  110. &lt;/cfcase&gt;<br>
  111. &lt;/cfswitch&gt;<br><br>
  112. </cfoutput>
  113.  
  114. <cfoutput>
  115. &lt;html&gt;<br>
  116. &lt;head&gt;<br>
  117. &lt;title&gt;CodeTableTemplate&lt;/title&gt;<br>
  118. &lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br>
  119. &lt;/head&gt;<br>
  120. &lt;body&gt;<br>
  121. </cfoutput>
  122.  
  123.  
  124. &lt;cfswitch expression="#URL.a#"&gt;<br>
  125. &lt;cfcase value="n,s"&gt;<br>
  126. &lt;cfif URL.a IS "N"&gt;<br>
  127.      &lt;cfset button_label = "Add"&gt;<br>
  128.      &lt;cfset a = "i"&gt;<br>
  129. &lt;cfelseif URL.a IS "s"&gt;<br>
  130.      &lt;cfset button_label = "Update"&gt;<br>
  131.      &lt;cfset a = "u&id=#id#"&gt;<br>
  132. &lt;/cfif&gt;<br>
  133.  
  134. &lt;cfoutput&gt;<br>
  135. &lt;form action="<cfoutput>#tablename#</cfoutput>.cfm?a=#a#" method="post"&gt;&lt;/cfoutput&gt;<br>
  136.   &lt;table border="0" cellpadding="2" cellspacing="0"&gt;<br>
  137. <cfoutput>
  138. <cfloop index="x" list="#the_fields#">
  139.    &lt;tr&gt;<br>
  140.       &lt;td align="right"&gt;#x#&lt;/td&gt;<br>
  141.       &lt;td&gt;&lt;input name="#x#" type="text" id="#x#" value="&lt;cfoutput&gt;###tablename#.#x###&lt;/cfoutput&gt;"&gt;&lt;/td&gt;<br>
  142.     &lt;/tr&gt;<br>
  143. </cfloop>
  144. </cfoutput>
  145.  
  146. &lt;tr&gt;<br>
  147.       &lt;Td&gt;&lt;/Td&gt;<br>
  148.       &lt;Td&gt;&lt;cfoutput&gt;&lt;input name="" type="submit" value="#button_label#"&gt;&lt;/cfoutput&gt;<br>
  149.         &lt;cfif URL.a IS "s"&gt;<br>
  150.           &lt;cfoutput&gt;<br>
  151.           &lt;/td&gt;&lt;/form&gt;<br>&lt;td&gt;<br>
  152.           &lt;form action="<cfoutput>#tablename#</cfoutput>.cfm?a=d&id=#URL.ID#" method="post"&gt;&lt;input type="submit" value="Delete"&gt;
  153. &lt;/cfoutput&gt;&lt;/cfif&gt;&lt;/Td&gt;&lt;/form&gt;<br>
  154. &lt;/tr&gt;<br>
  155. &lt;/table&gt;<br>
  156.  
  157. &lt;/cfcase&gt;<br><br>
  158.  
  159. &lt;cfcase value="i,d,u"&gt;<br>
  160.      &lt;cfif URL.a IS "i"&gt;<br>
  161.           You have just added a record:&lt;br&gt;<br>
  162.      &lt;cfelseif URL.a IS "d"&gt;<br>
  163.           YOu have just removed the record:&lt;br&gt;<br>
  164.      &lt;cfelseif URL.a IS "u"&gt;<br>
  165.           You have just updated the record:&lt;br&gt;<br>
  166.      &lt;/cfif&gt;<br>
  167.  
  168. &lt;cfoutput&gt;<br>
  169. <cfloop index="x" list="#the_fields#">
  170. <cfoutput>###tablename#.#x###&lt;br&gt;<br></cfoutput>
  171. </cfloop>     
  172. &lt;/cfoutput&gt;<br>
  173.      
  174. <cfoutput>&lt;a href="#tablename#.cfm?a=l"&gt;LIST&lt;/a&gt;<br></cfoutput>
  175. &lt;/cfcase&gt;<br>
  176. &lt;cfcase value="l"&gt;<br>
  177. &lt;cfoutput&gt;<br>
  178. &lt;form action="<cfoutput>#tablename#</cfoutput>.cfm?a=n" method="post"&gt;&lt;input type="submit" value="Add"&gt;&lt;/form&gt;
  179. &lt;/cfoutput&gt;<br>
  180.  
  181. &lt;table border="1"&gt;<br>
  182. &lt;tr&gt;<br>
  183. <cfoutput>
  184. <cfloop index="x" list="#the_fields#">
  185. &lt;td&gt;#x#&lt;/td&gt;<br>
  186. </cfloop>
  187. </cfoutput>
  188.  
  189. &lt;/tr&gt;<br>
  190. <cfoutput>&lt;cfoutput query="#tablename#"&gt;</cfoutput><br>
  191.  
  192. &lt;tr&gt;<br>
  193. <cfloop index="x" list="#the_fields#">
  194. &lt;td&gt;<cfoutput>###x###</cfoutput>&lt;/td&gt;<br></cfloop>
  195. &lt;td&gt;&lt;a href="<cfoutput>#tablename#</cfoutput>.cfm?a=s&id=#<cfoutput>#pk_field#</cfoutput>#"&gt;Edit&lt;/a&gt;&lt;/TD&gt;<br>
  196. &lt;/tr&gt;<br>
  197. &lt;/cfoutput&gt;<br>
  198. &lt;/table&gt;<br>
  199.  
  200. &lt;/cfcase&gt;<br>
  201. &lt;/cfswitch&gt;<br>
  202. &lt;/body&gt;<br>
  203. &lt;/html&gt;<br>
  204.  

Copy & Paste


Comments


There are currently no comments for this snippet. Be the first to comment!

Add comment


You must be registered and logged on to </dream.in.code> to leave comments.





Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

Bye Bye Ads

Free DIC T-Shirt

T-Shirt Example

Related Sites

Monthly Drawing

Thumb Drive

Partners

Top Contributors

Top 10 Kudos This Month