如果语句值未返回true,则ColdFusion if返回false

时间:2017-08-25 22:01:43

标签: coldfusion

在我的代码中,我正在查询我的数据库以获取该城市。

我写了一个if语句,说明这个城市是否等于db中的那个值。返回那个城市的形象。但是,它返回的是一个不同的图像,它会转到我的if语句的假块。

我做了cfdump城市变量,它返回了我想要的城市,但由于某种原因它返回false而不是true。我不确定我做错了什么。这是我的代码。

 <cfloop query="testData">
    <cfif #city# EQ 'Portland'>
       <!--- I want it to go to this block --->
       <img src="images/portlandcity.jpg" alt="Portland City">
    <cfelseif #city# EQ 'San Jose'>
       <img src="images/sanjosecity.jpg alt="San Jose City">
    <cfelse>
       <!-- its going to this block instead of going to my Portland city block. --->
       <img src="images/randomcityimage.jpg alt="False block">
    </cfif>

    <!-- Dumped out city variable in the loop and it returns 'Portland'.
         However, it's going to the false block for some reason and I am not sure why --->
    <cfdump var="#city#"> 
 </cfloop>

1 个答案:

答案 0 :(得分:2)

您可以在代码中尝试以下操作以防止包含空格的项目:

注意我取出了变量周围的#并添加了trim()函数。 在If语句中,您不需要使用#符号。

 <cfif trim(city) EQ 'Portland'>
   <img src="images/portlandcity.jpg" alt="Portland City"> <!--- I want it to go to this block --->
<cfelseif trim(city) EQ 'San Jose'>
   <img src="images/sanjosecity.jpg alt="San Jose City">
<cfelse>
   <img src="images/randomcityimage.jpg alt="False block"> <!-- its going to this block instead of going to my Portland city block. --->
</cfif>