Thank you all very much for your suggestions, however, I'm afraid I didn't fully explain the complexity of the situation. See, I'll need to select the text of the form letter that contains the CF variables which will reference other queries on the same page. So, for example, let's say we're going to be generating Happy Birthday letters for employees at the beginning of each month and the letters will be printed and stored in the database or on the file system. So, we'll need queries for the letter text and the person's name, address, DOB and maybe some tidbits from other tables like the employee's department and job title. So, we'll have a select statement to find all the peeps with upcoming DOBs. We'll also have a select statement to retrieve the text of the letter. Then we'll cfoutput the dob query into the letter with some CSS to separate pages. I'm going to knock out the code today or tomorrow and will share my eventual solution here. But, I do appreciate your input and advice. Thank you! mf
-----Original Message----- From: [email protected] [mailto:[email protected]]on Behalf Of Wes Byrd Sent: Wednesday, July 01, 2009 9:53 AM To: [email protected] Subject: RE: [ACFUG Discuss] NEVERMIND RE: CF in the database? Mark, I use to do something very similar to what you are doing. I once thought it was very handy to store CF code into the DB and then evaluate it. Fun stuff! However, not so fun for your server. I would advise against this if you are looping over a record set. As a rule, I would stay away from using evaluate() inside a loop... or from using it at all unless you have to. Doug's suggestion below is a good solution. But, you don't really have to add the function to make it happen (though I agree with Doug and like the function based solution). You could simply change the code in your database (replace the #cookie.username# with $:1) and then slightly modify your output loop... like this: <cfquery name="myQuery" datasource="dataSource"> select myText from welcome_statements </cfquery> <cfoutput>#replace(myQuery.myText, "$:1", cookie.username)#</cfoutput> This is much more efficient that using evaluate(). Hope that is helpful. <salute> Wes _____ From: [email protected] [mailto:[email protected]] On Behalf Of Douglas Knudsen Sent: Wednesday, July 01, 2009 9:23 AM To: [email protected] Subject: Re: [ACFUG Discuss] NEVERMIND RE: CF in the database? Another approach is using replace(). SO in your DB store "Welcome $:1 to the end of the Internet" Then use a function call to wrap things fetchWelcomeText( cookie.username ) fetchWelcomeText() would look something like <cfquery name="myQuery" datasource="dataSource"> select myText from welcome_statements </cfquery> <cfreturn replace( myQuery.myText, "$:1", arguments.username ) /> This approach is a bit more flexible, you can say easily switch between cookies and sessions or spit out the same text for some other name. Douglas Knudsen http://www.cubicleman.com this is my signature, like it? On Tue, Jun 30, 2009 at 5:07 PM, Fennell, Mark P. < [email protected]> wrote: I figured it out, but if you have a more elegant solution, I'm open to suggestions. Here's my current solution. <cfquery name="myQuery" datasource="dataSource"> select myText from welcome_statements </cfquery> <cfoutput>#evaluate("#de(myQuery.myText)#")#</cfoutput> Thanks. mf -----Original Message----- From: Fennell, Mark P. Sent: Tuesday, June 30, 2009 4:57 PM To: ' [email protected]' Subject: CF in the database? Greetings all, I'm trying to figure out a way in CF7 to store CF variables in the database to be selected out later and evaluated just like regular CF variables. For example, and I know this is a stupid example, but it's simple and makes the point, let's assume I have a database table called welcome_statements and it has a single column that contains string data such as "Welcome, #cookie.user_name#." In my home.cfm file, I write a query like select my_text from welcome_statements and have a CFOUTPUT block like <cfoutout>#myQuery.my_text#</cfoutput>. I've tried using various combinations of evaluate() and de() and replacing the # in the database with something that is replaced on evaluation in the query and in the cfoutput. All to no avail. I know you're wondering, "Why would you want to do a fool thing like that?" Well, I'm trying to figure out how to allow users to write form letters or MS Word-like mail-merge documents. I imagine it would be simpler in CF than to write some manner of database function/procedure which is why I'm asking for your assistance. Many thanks in advance. mf mark fennell athens regional medical center athens, ga ----------------------------------------------------------------------- This email is intended only for the named recipient(s). It may contain information that is proprietary, confidential or otherwise prohibited from disclosure. If you are not the named addressee, you are not authorized to read, print, retain, copy or disseminate this message or any part of it. If you have received this message in error, please reply immediately by email or telephone me at 706-475-4357 and delete all copies of the message. ----------------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, manage your profile @ http://www.acfug.org?falogin.edituserform For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by http://www.fusionlink.com ------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, manage your profile @ http://www.acfug.org?fa=login.edituserform For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by FusionLink <http://www.fusionlink.com> ------------------------------------------------------------- ------------------------------------------------------------- To unsubscribe from this list, manage your profile @ http://www.acfug.org?fa=login.edituserform For more info, see http://www.acfug.org/mailinglists Archive @ http://www.mail-archive.com/discussion%40acfug.org/ List hosted by http://www.fusionlink.com -------------------------------------------------------------
