411 REFERENCE · Wikibooks
ColdFusion Programming/control structures
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
As in most programming languages Coldfusion includes control structures to help your program be more useful.
CFIF
The most basic control structure is the CFIF. It works exactly like an If statement in other programming languages.
A sample CFIF statement would look like this:
<cfif 2 gt 1>
First
<cfelse>
Second
</cfif>
The result would be: First
CFSWITCH
Like with other programming languages Coldfusion provides a switch functionality.
Sample CFSWITCH:
<cfswitch expression="bob">
<cfcase value="george">
George
</cfcase>
<cfcase value="bob">
Bob
</cfcase>
</cfswitch>
The result would be: Bob
CFLOOP
Index Loop:
Attributes
from - starting number
to - ending number
index - value within the loop
step - optional (default 1) - change to make with each iteration
Example:
<cfloop from="1" to="9" index="i">
#i#
</cfloop>
Results: 1 2 3 4 5 6 7 8 9
<cfloop from="1" to="9" index="i" step="2">
#i#
</cfloop>
Results: 1 3 5 7 9
Conditional Loop:
Attributes
condition - continue looping as long as condition is true
Example:
<cfset i = 2>
<cfloop condition="i lt 10">
#i#
<cfset i = i + 2>
</cfloop>
Results: 1 3 5 7 9
Query Loop:
Attributes
query - query name you want to loop through
startrow - optional(default 1) - row to begin with
endrow - optional(default last) - row to end with
Query getpeople looks like this:
Age Name
10 Bill
25 Martha
30 Judy
Example:
<cfloop query="getpeople">
#Age#, #Name#
</cfloop>
Results:
10, Bill
25, Martha
30, Judy
List Loop:
Attributes
index - variable to hold element of list
list - list to go through
delimiters - optional (default ,) - separator used to break list apart
List people looks like this: (Bill,Martha,Judy)
Example:
<cfloop list="people" index="i">
#i#!
</cfloop>
Results: Bill! Martha! Judy!
Collection Loop:
Attributes
collection - structure name you want to loop through
item - variable to hold element of structure
Structure place looks like this:
Zip Name
55057 Northfield
Example:
<cfloop collection="#place#" item="i">
<cfoutput>#i#-#place[i]#</cfoutput>,
</cfloop>
Results:
Zip-55057, Name-Northfield