CFIF CFELSEIF CFELSE

Used with CFELSE and CFELSEIF, CFIF lets you create simple and compound conditional statements in CFML. The value in the CFIF tag can be any expression.

Syntax

<CFIF expression>
    HTML and CFML tags
<CFELSEIF>
    HTML and CFML tags
<CFELSE expression>
    HTML and CFML tags
</CFIF>

Usage

Note that when testing for the return value of any function that returns a Boolean, you do not need to explicitly define the TRUE condition. The following code uses IsArray as an example:

<CFIF IsArray(myarray)>

When successful, IsArray evaluates to YES, the string equivalent of the Boolean TRUE. This method is preferred over explicitly defining the TRUE condition:

<CFIF IsArray(myarray) IS TRUE>
Note On UNIX, there is a switch that provides fast date-time parsing. If you have enabled this switch, you must refer to dates in expressions in the following order: month, day, and year. For example:

<CFIF "11/23/1998 " GT "11/15/1998 ">

This switch is set on the ColdFusion Administrator Server Settings page. Please refer to Administering ColdFusion Server for more information about ColdFusion settings.

Example

<!--- This example shows the interaction of CFIF, CFELSE,
and CFELSEIF --->
...
<H3>CFIF Example</H3>

<P>CFIF gives us the ability to perform conditional logic
based on a condition or set of conditions.
<P>For example, we can output the list of Centers from the
snippets datasource by group and only display them <B>IF</B>
the city = San Diego.
<hr>
<!--- use CFIF to test a condition when outputting a query --->
<P>The following are centers in San Diego:

<CFOUTPUT QUERY="getCenters" >
<CFIF city is "San Diego">
    <BR><B>Name/Address:</B>#Name#, #Address1#, #City#, #State#
    <BR><B>Contact:</B> #Contact#<BR>
</CFIF>
</CFOUTPUT>

<P>If we would like more than one condition to be the case,
we can ask for a list of the centers in San Diego <B>OR</B>
Santa Ana.  If the center does not follow this condition, we
can use CFELSE to show only the names and cities of the
other centers.
<P>Notice how a nested CFIF is used to specify
the location of the featured site (Santa Ana or San Diego).
<!--- use CFIF to specify a conditional choice for multiple
options; also note the nested CFIF --->
<hr>
<P>Complete information is shown for centers in San Diego
or Santa Ana.  All other centers are listed in italics:

<CFOUTPUT QUERY="getCenters">
<CFIF city is "San Diego" OR city is "Santa Ana">
    <H4>Featured Center in <CFIF city is "San Diego">San
       Diego<CFELSE>Santa Ana</CFIF></H4>
    <B>Name/Address:</B>#Name#, #Address1#, #City#, #State#
    <BR><B>Contact:</B> #Contact#<BR>
<CFELSE>
    <BR><I>#Name#, #City#</I>
</CFIF>
</CFOUTPUT>

<P>Finally, we can use CFELSEIF to cycle through a number
of conditions and produce varying output.  Note that you
can use CFCASE and CFSWITCH for a more elegant representation
of this behavior.
<hr>
<P>
<!--- use CFIF in conjunction with CFELSEIF to specify
more than one branch in a conditional situation --->
<CFOUTPUT QUERY="getCenters">
<CFIF city is "San Diego" OR city is "Santa Ana">
    <BR><I>#Name#, #City#</I> (this one is in <CFIF city is "San
       Diego">San Diego<CFELSE>Santa Ana</CFIF>)
<CFELSEIF city is "San Francisco">
    <BR><I>#Name#, #City#</I> (this one is in San Francisco)
<CFELSEIF city is "Suisun">
    <BR><I>#Name#, #City#</I> (this one is in Suisun)
<CFELSE>
    <BR><I>#Name#</I> <B>Not in a city we track</B>
</CFIF>
</CFOUTPUT>

</BODY>
</HTML>