2014-02-24 77 views
-1

我在表單中獲得以下詳細信息。我需要循環訪問名稱中具有「附件」的字段,並將計數添加到表中,以及新表中的值。需要在數據庫和表格中插入上載計數

ATTACHMENT C:\ColdFusion10\cfusion\runtime\work\Catalina\localhost\tmp\neotmp3230094756217875313.tmp 
ATTACHMENT2 C:\ColdFusion10\cfusion\runtime\work\Catalina\localhost\tmp\neotmp4341408903737742616.tmp 
ATTACHMENT3 C:\ColdFusion10\cfusion\runtime\work\Catalina\localhost\tmp\neotmp2809169853442728277.tmp 

我嘗試做了表單字段的循環,但我在兩者之間丟失,我不能確定在哪裏進行。

<CFLOOP collection="#structform#" item="whichField"> 
    <cfif FindNoCase('attachment',whichField)> 
     <cfset total = len(whichField)> 
     <cfoutput>#total#</cfoutput><br><br> 
    </cfif> 
    <CFOUTPUT>#whichField# = #structform[whichField]#</CFOUTPUT><br> 
</CFLOOP> 
+0

不確定您的問題是否完全清楚 - 這些表單文件是文件輸入還是文本輸入?你想要計算什麼「總數」文件的大小?或者文件路徑的長度? – duncan

+0

解決t像下面 –

回答

0
<CFLOOP collection="#structform#" item="whichField"> 
    <cfif FindNoCase('attachment',whichField)> 
     <cfset lstvalue = ListAppend(lstvalue,whichField)> 
    </cfif> 
    </CFLOOP> 
    <cfset total = ListLen(lstvalue)> 
    <cfif (len(total) AND total EQ 1) AND (Evaluate(lstvalue) EQ '')> 
     <cfset total = 0> 
    </cfif> 
+5

我沒有得到你想要做的,但這是_definitely_不是這樣做的方式。 –

+0

我迷失在'(評估(lstvalue)EQ'')'。那試圖做什麼? –

+0

'(Evaluate(lstvalue)EQ'')'我的字段中的一個將始終是一個具有附件名稱的字段,因此它具有一個值,它將新爲null或爲空,它將爲空,以便檢查代碼中,我已經添加了它,並且條件如此,它應該條件並且然後繼續前進,否則如果多個值出現在** lstvalue **中,則會引發錯誤。就像這個'' –

1

我仍然不能肯定我明白這是怎麼回事,所以這可能需要的調整/改變根據需要進行它的工作,但是這無疑是一個更好的方法:

<cfset Total = 0 /> 
<cfloop collection=#StructForm# item="FieldName" > 
    <cfif findNoCase('attachment',FieldName) AND len(StructForm[FieldName]) > 
     <cfset ++Total /> 
    </cfif> 
</cfloop> 
+0

total總是會是1 –

+1

那麼它可能被命名爲錯誤,但用' '''會做到這一點。 –

+0

確保輸出循環外部的總變量 – fyroc

相關問題