|
From: kenji776 on 13 Jun 2008 12:55 Hey all. I am trying to build a SQL tool that admins can use on my website. Basically I want one cflayout tag, that has a dynamic number of cflayoutareas. The first one will always contain the SQL entry form, and then a new cflayoutarea tab will be created with every entered query. That way you can easily look at past queries and such. My code works fine except for the fact that every time you submit the form to run a query, it creates a whole new cflayout and populates that with the results. I'll post a pic, it's really weird. Attached is the full source code. http://www.digitalswordsmen.com/members/Shared/OddResults.JPG <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type="text/css" title="currentStyle" media="screen"> @import "../popup_style.css"; .style1 {font-size: 10px} </style> <title>SQL Tool</title> <cfparam name="url.action" type="string" default="edit"> <cfset Session.Queryname[1]=""> <cfset Session.QueryResult[1]=""> <cfset errors = 0> <cfparam name="url.RunNumber" default="1" type="numeric"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <cfoutput> <cfif isdefined("form.submit") and isdefined("form.SQL")> <cfif FindNoCase('drop', form.sql)> Drops are not allowed<br> <cfset errors = 1> </cfif> <cfif FindNoCase('truncate', form.sql)> Truncates are not allowed<br> <cfset errors = 1> </cfif> <cfif FindNoCase('delete', form.sql)> Delete are not allowed<br> <cfset errors = 1> </cfif> <cfif errors LT 1> <cftry> <cfquery name="RunSQL" datasource="users"> #Form.SQL# </cfquery> <cfset Session.Queryname[url.RunNumber] = '#form.QueryName#'> <cfset Session.QueryResult[url.RunNumber] = '#RunSQL#'> <cfset url.RunNumber = url.RunNumber +1> <cfcatch type="any"> <cfset Session.Queryname[url.RunNumber] = '#form.QueryName#'> <cfset Session.QueryResult[url.RunNumber] = '#cfcatch.message# #cfcatch.detail# #cfcatch.SQLState#'> <cfset url.RunNumber = url.RunNumber +1> </cfcatch> </cftry> </cfif> </cfif> <cflayout type="tab" name="tabpreferences" tabheight="600"> <cflayoutarea title="SQL Entry" closable="false"> <cfform name="SQLForm" method="post" action="#cgi.scriptname#?action=run&runNumber=#url.RunNumber#"> Enter your SQL Query Below<br> Query Name: <cfinput name="QueryName" type="text" maxlength="12" message="You must enter a name for this query" required="yes"><br> Query<br> <cftextarea name="SQL" message="You must enter a query of some kind" required="yes"></cftextarea><br> <cfinput type="submit" value="Run Query" name="submit"><br> </cfform> </cflayoutarea> <cfif url.runnumber GT 1> <cfloop from="1" to="#StructCount(Session.Queryname)#" index="i"> <cflayoutarea title="#session.Queryname[i]#" closable="true"> <cfdump var="#Session.QueryResult[i]#"> </cflayoutarea> </cfloop> </cfif> </cflayout> </cfoutput> </body> </html>
|
Pages: 1 Prev: encrypt and decrypt functions Next: CFPRINT Dropping Images |