动态coldfusion cfif语句

时间:2013-12-25 17:51:32

标签: coldfusion

我有这样的陈述:

<cfif string contains "this" or string contains "that" or etc.>

包含来自数据库,可能是在if语句中要搜索的两个或更多内容。我怎样才能编写cfif以继续添加OR,直到所有要搜索的内容都在上面的if语句中?

1 个答案:

答案 0 :(得分:2)

有几种方法可以实现您的目标。一种是使用列表功能。

<cfif ListFind(ValueList(YourQuery.YourField), YourString) gt 0>

如果您希望您的字符串是其中一个值,那将是合适的。或者你可以做这样的事情,这与你问题中的逻辑相符。

</cfscript>
 MyString = "DISCHARGE";
SearchResult = false;
</cfscript>

<cfquery name="x" datasource="dw">
select trim(event_name) event_name
from event
</cfquery>

<cfloop query="x">
<cfif MyString contains event_name >
<cfset SearchResult = true>
<cfbreak>
</cfif>
</cfloop>
<cfdump var="#SearchResult#">

然后有一个流行的查询查询。

<cfquery name="q2" dbtype="query">
select count(*) matches
from YourFirstQuery
where TheField like <cfqueryparam value="%#string#%">
</cfquery>

这些逻辑略有不同,因此在尝试编写代码之前,您必须知道自己想要做什么。