2012-06-21 56 views
-5

我在家裏操縱php或javascript中的數組和對象的操作非常多,而且在使用coldfusion之後還沒做任何工作。將mysql查詢與sql查詢進行比較

我有一個查詢從MySQL中提取數據。我想存儲結果列表或數組(或更簡單的方法)

WHILE循環從生成html輸出的msql的第二個查詢我需要看看是否有一個值包含在先前的mysql數組或列表中。

已經嘗試玩各種各樣的cf數組/列表方法,真的不知道什麼最好的辦法是解決以下if。 CF版本是9

<cfquery datasource="Mysql" name="premium_submitters"> 
    SELECT submitter_id from table 
</cfquery> 
<!--- Need loop to store to array or list??---> 

<cfquery datasource="Sql" name="main_data"> 
    SELECT * from table 
</cfquery> 

<cfoutput query="main_data"> 
    <cfif #submiiter_id# <!---is in Mysql array/list return boolean---> > 

    </cfif> 
</cfoutput> 

回答

4

使用ValueList獲得查詢一個列的值到列表中。

<cfquery datasource="Mysql" name="premium_submitters"> 
    SELECT submitter_id from table 
</cfquery> 

<cfset submittersList = ValueList(premium_submitters.submitter_id)> 

<cfquery datasource="Sql" name="main_data"> 
    SELECT * from table 
</cfquery> 

<cfoutput query="main_data"> 
    <cfif ListFind(submittersList, main_data.submitter_id) gt 0> 
     <!--- is in list, do whatever ---> 
    </cfif> 
</cfoutput> 
+0

這也是我最初的嘗試之一。我得到以下錯誤'ValueList()函數有一個無效的參數:premium_submitters.submitter_id。 ' – charlietfl

+0

您是否已經在premium_submitters查詢中完成'cfdump'以確保它已填充? –

+0

是的,我剛剛解決了這個問題,我沒有注意到這兩個字段的拼寫有所不同,然後當試圖找出使用哪種列表方法時,我忽略了拼寫錯誤 – charlietfl