If语句完全循环并且没有完全循环的麻烦

时间:2014-10-06 14:41:15

标签: coldfusion coldfusion-10

我想要做的是如果pcount是= 0

<cfif (isDefined("session.checkout.quantity.pcount")) eq 0>

然后循环这个但跳过最后一个循环

    <cfif BAdd NEQ session.checkout.quantity.bcount>
         <cfinclude template="../../../ddl/bandor.cfm">

并且如果pcount不等于0 (零是下拉菜单中的数字0而不只是空白)

<cfif (isDefined("session.checkout.quantity.pcount")) neq 0>

然后每次循环

<cfinclude template="../../../ddl/bandor.cfm">

这是完整的代码,如果有人可以告诉我我做错了什么?

<cfif (isDefined("session.checkout.quantity.pcount")) eq 0>
  <cfif BAdd NEQ session.checkout.quantity.bcount>
    <cfinclude template="../../../ddl/bandor.cfm">
  </cfif>
</cfif>
<cfif (isDefined("session.checkout.quantity.pcount")) neq 0>
  <cfinclude template="../../../ddl/bandor.cfm">
</cfif>  

2 个答案:

答案 0 :(得分:3)

这是一种格式化的注释,可帮助您了解代码出了什么问题。这个,

<cfif (isDefined("session.checkout.quantity.pcount")) eq 0>

不检查pcount的值。它实际上意味着,

if variable session.checkout.quantity.pcount does not exist

因为函数isDefined返回一个布尔值,true或false。但是,ColdFusion的工作方式,数字0,以及字符串,&#34; false&#34;,&#34; no&#34;,&#34; 0&#34;是假的。

答案 1 :(得分:2)

<cfif structKeyExists(session.checkout.quantity, "pcount") AND session.checkout.quantity.pcount eq 0>
  <cfif BAdd NEQ session.checkout.quantity.bcount>
    <cfinclude template="../../../ddl/bandor.cfm">
  </cfif>
<cfelse>
  <cfinclude template="../../../ddl/bandor.cfm">
</cfif>
相关问题