CFOUTPUT |
Description
Displays output that can contain the results of processing ColdFusion variables and functions. Can loop over the results of a database query.
Category
Data output tags
Syntax
    <cfoutput
       query = "query_name"
       group = "query_column"
       groupCaseSensitive = "Yes" or "No"
       startRow = "start_row"
       maxRows = "max_rows_output">
    </cfoutput>
See also
cfcol, cfcontent, cfdirectory, cftable
Usage
In the cfoutput tag body, ColdFusion treats text that is surrounded by pound signs (#) as a ColdFusion variable or function call. For example, the following code displays the text "Hello World!":
    <cfset myVar="Hello World!">
    cfoutput>#myVar#</cfoutput>
When you specify a query attribute, this tag loops over the query rows and produces output for each row within the range specified by the startRow and maxRows values, and groups or eliminates duplicate entries as specified by the grouping attribute values, if any. It also sets the query.currentRow variable to the current row being processed.
If you nest cfoutput blocks that process a query, you specify the query and group attributes at the top-most level; you can specify a group attribute for each inner block except the innermost cfoutput block.
This tag requires an end tag.
Example
    <!--- This example shows how cfoutput operates --->
    <!--- run a sample query --->
    <cfquery name = "GetCourses" dataSource = "cfsnippets">
       SELECT Dept_ID, CorName, CorLevel
       FROM courseList
       ORDER by Dept_ID, CorLevel, CorName
    </cfquery>
    <h3>cfoutput Example</h3>
    <p>cfoutput tells ColdFusion Server to begin processing, and then
    to hand back control of page rendering to the web server.
    <p>For example, to show today's date, you could write #DateFormat("#Now()#").
    If you enclosed that expression in cfoutput, the result would be
    <cfoutput>#DateFormat(Now())#</cfoutput>.

    <p>In addition, cfoutput may be used to show the results of a query
    operation, or only a partial result, as shown:

    <p>There are <cfoutput>#getCourses.recordCount#</cfoutput> total records
    in our query. Using the maxRows parameter, we are limiting our
    display to 4 rows.
    <p><cfoutput query = "GetCourses" maxRows = 4>
       #Dept_ID#   #CorName#   #CorLevel#<br>
       </cfoutput>

    <p>The next example uses the group attribute to eliminate duplicate lines
    from a list of course levels taugh in each department.</p>
    <p><cfquery name = "GetCourses" dataSource = "cfsnippets">
    SELECT Dept_ID, CorLevel
    FROM courseList
    ORDER by Dept_ID, CorLevel
    </cfquery>
    <p><cfoutput query = "GetCourses" group="CorLevel" GroupCaseSensitive="True">
    #Dept_ID# #CorLevel#<br>
    </cfoutput>

    <p>cfoutput can also show the results of a more complex expression,
    such as getting the day of the week from today's date. We first
    extract the integer representing the Day of the Week from
    the server function Now() and then apply the result to
    the DayofWeekAsString function:

    <br>Today is #DayofWeekAsString(DayofWeek(Now()))#
    <br>Today is <cfoutput>#DayofWeekAsString(DayofWeek(Now()))#</cfoutput>

QUERY |
| Optional
Name of cfquery from which to draw data for output section.

GROUP |
| Optional
Query column to use to group sets of records. Eliminates adjacent duplicate rows when data is sorted. Use if you retrieved a record set ordered on one or more a query columns. For example, if a record set is ordered on "Customer_ID" in the cfquery tag, you can group the output on "Customer_ID."

GROUPCASESENSITIVE |
| Optional
Default value: "Yes" Boolean. Whether to consider the case in grouping rows.

STARTROW |
| Optional
Default value: "1" Row from which to start output.

MAXROWS |
| Optional
Default value: "displays all rows" Maximum number of rows to display.