ColdFusion Programming/control structures
As in most programming languages Coldfusion includes control structures to help your program be more useful.
CFIF
editThe 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
editLike 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
editIndex 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