Copy link to clipboard
Copied
Hey All,
I am doing something a little strange. Basically I have a database table with some coldfusion If statments. Things like
"age GT 18" or
"name eq 'frank'"
etc. Basically it's a dynamic rule engine. Allows my users to place triggers in an app. Question is, how do I evalulate those conditions. I pull them from the database, loop over the query, but I can't actually get CF to parse the contructed IF statment. For example...
<cfset YearsOld = 67>
<cfquery name="GetConditions" datasource="webserver">
Select *
From SignUpFormAdditionalActions
Where Active = 1
</cfquery>
<cfoutput>
<cfloop query="GetConditions">
<cfif GetConditions.Condition>
Met #GetConditions.Name#. #GetConditions.Content#<br />
</cfif>
</cfloop>
</cfoutput>
And here is what my database looks like
I know this should be easy, I'm just kinda having a brain fart. Thanks!
Copy link to clipboard
Copied
Ah I figured it out. Using DE and evaluate.
<cfquery name="GetConditions" datasource="webserver">
Select *
From SignUpFormAdditionalActions
Where Active = 1
</cfquery>
<cfoutput>
<cfset YearsOld = 67>
<cfloop query="GetConditions">
<cfset result = #Evaluate(GetConditions.condition)#>
<cfif result eq "yes">
Passed #GetConditions.name#<br />
<cfelse>
Failed #GetConditions.name#<br />
</cfif>
</cfloop>
</cfoutput>
Copy link to clipboard
Copied
Do you wanna mark the question as resolved?
Cheers.
--
Adam
Copy link to clipboard
Copied
I figured it out.