识别冷却值comng以针对查询运行

时间:2014-07-18 20:36:02

标签: coldfusion

我在url中传递动态命名的参数。 (sSearch参数的数量可以超过5到7或8等)

sSearch_0   
sSearch_1   
sSearch_2   
sSearch_3   
sSearch_4   
sSearch_5

我想运行一个循环来在查询中进行搜索。我这样想:

<cfloop from="0" to="5" index="k">
<cfset counter = k>
    <cfif IsDefined('url.sSearch_' & counter)>
        <cfset "check_" & k = 'url.sSearch_' & counter>
    </cfif>
</cfloop>

我正在尝试写这样的查询:

<cfquery datasource="#coldfusionDatasource#" name="qFiltered">
    SELECT * 
    FROM    mytable 
    <cfif len(trim(url.sSearch))>
        WHERE 
        <cfloop list="#listColumns#" index="thisColumn">
           <cfif thisColumn neq listFirst(listColumns)> OR </cfif>
            #thisColumn# LIKE <cfqueryparam cfsqltype="CF_SQL_VARCHAR" 
                                   value="%#trim(url.sSearch)#%" />
        </cfloop>
</cfquery>

但它不起作用。错误说check_未定义。

1 个答案:

答案 0 :(得分:0)

对于使用引号的动态变量命名,请尝试:

<cfset "check_#k#" = 'url.sSearch_' & counter>

请参阅this article