ColdFusion Programming/control structures

From Wikibooks, open books for an open world
Jump to navigation Jump to search

As in most programming languages Coldfusion includes control structures to help your program be more useful.

CFIF[edit]

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[edit]

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[edit]

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