2014-07-18 12 views
-1

我在url中動態地傳遞了命名參數。 (SSEARCH參數的數量能夠超越5到7或8等)確定coldfusion的值comng以針對查詢運行

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_是未定義的。

+0

'url.sSearch'是不一樣的任何'url.sSearch_的」和計數器域 –

+0

既然你談論url變量,循環遍歷cgi.query_string可能會簡化一些事情。 –

+0

看起來您正在嘗試爲DataTables插件的遠程請求開發Cold Fusion api? – Cmacu

回答

0

對於動態的變量命名使用引號,請嘗試:

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

this article

相關問題