2017-08-25 19 views
0

私のコードでは、データベースを取得して都市を取得しています。ColdFusion if文の値がtrueを返していない場合は、代わりにfalseを返します。

私は、この都市がdbの値と等しいかどうかを示すifステートメントを書いています。その街のこのイメージを返します。しかし、それは私のifステートメントのfalseブロックに行く別のイメージを返しています。

私は都市変数のcfdumpを返しました。それは、私が望む都市を返しますが、何らかの理由で真ではなく偽を返しています。私は何が間違っているのか分かりません。ここに私のコードです。

<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

そうです。私は都市変数のcfdumpを行い、それは正確に 'ポートランド' – Curious13

+4

余分なスペースを返しません?タブ?戻る?ダンプで見えない目に見えない文字? –

答えて

2

あなたは、スペースで項目を防ぐために、あなたのコードに次のように試みることができる:

注意を私はあなたの変数の周りに#を取り出し、トリム()関数を追加しました。 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> 
関連する問題