2014-04-24 26 views
1

我在循环查询后在表中显示结果。对于TestNumber,我的查询中存在一些结果,其中数字不存在,因此我想在表中显示N/A而不是空白。所以,我使用IsDefined检查存在 ,但由于某种原因,它每次都会继续打印N/A在打印表中的值时检查是否存在

<cfloop query="GetMyList1"> 
    <tr> 
     <td align="center">#TestName#</td> 
     <cfif IsDefined(TestNumber) > 
      <td align="center">#TestNumber#</td> 
     <cfelse> 
      <td align="center">N/A</td> 
     </cfif> 
     <td align="center">#Date#</td> 
    </tr> 
</cfloop> 

回答

2

你会想检查是否有一个项目的长度。本场存在,所以isDefined将始终返回true

<cfloop query="GetMyList1"> 
    <tr> 
    <td align="center">#GetMyList1.TestName#</td> 
    <td align="center"><cfif len(trim(GetMyList1.TestNumber))>#GetMyList1.TestNumber#<cfelse>N/A</cfif></td> 
    <td align="center">#GetMyList1.Date#</td> 
    </tr> 
</cfloop> 
+0

谢谢你,但你没有使用'isDefined' :)另外,有必要使用'GetMyList1.TestNumber',而不是仅仅使用'TestNumber'我正在循环查询'GetMyList1'? – rocky

+2

@ user3558091 - “IsDefined”是你尝试实现的功能的错误功能。由于'TestNumber'是查询列,因此它总是*被定义。相反,你应该检查它的值或长度。也就是说,它总是返回错误的原因是你的语法不正确。 'IsDefined' [期望变量的*名称](https://stackoverflow.com/questions/10921081/why-a-parameter-is-not-defined-if-i-can-dump-it-and- it-has-a-value-in-coldfusio/10921421#10921421),但由于缺乏引号,您实际上正在传递变量的“值”。 – Leigh

+0

好的,明白了。谢谢 ! – rocky