説明
ColdFusion の変数および関数の処理結果が含まれる出力を表示します。データベースクエリーの結果をループすることができます。
カテゴリ
データ出力タグ
シンタックス
group = "query column"
encodefor= "encoding type"
groupCaseSensitive = "yes|no" maxRows = "maximum rows to display" query = "query name" startRow = "start row"> </cfoutput>
|
注意:このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。
|
関連項目
cfcol、cfcontent、cfdirectory、cftable
履歴
ColdFusion 4.5.0:groupCaseSensitive 属性が追加されました。
属性
属性
|
必須 / オプション
|
デフォルト
|
説明
|
group
|
オプション
|
|
レコードのセットをグループ化するために使用するクエリー列です。データをソートする場合、隣り合う重複行は削除されます。クエリー列で順序付けられたレコードセットを取得した場合に使用します。例えば、cfquery タグ内で "Customer_ID" に従って順序付けられているレコードセットがある場合は、"Customer_ID" に関する出力をグループ化することができます。
|
encodefor
|
オプション
|
|
値に基づいて、cfoutput タグ本文内の各式に対して encodefor が呼び出されます(encodefor 関数を使用して既にラップされている式を除く)。有効な値は、html、htmlattribute、url、javascript、css、xml、xmlattribute、xpath、ldap および dn です。
|
groupCaseSensitive
|
オプション
|
yes
|
boolean 値です。行のグループ化で大文字と小文字を区別するかどうかを指定します。
|
maxRows
|
オプション
|
すべての行を表示
|
表示する行の最大数です。
|
query
|
オプション
|
|
出力セクションのデータを取り出す cfquery の名前です。
|
startRow
|
オプション
|
1
|
出力を開始する行です。
|
使用方法
cfoutput タグ本文内では、シャープ記号(#)で囲まれたテキストは ColdFusion 変数または関数呼び出しとして扱われます。例えば、次のコードでは "Hello World!" というテキストが表示されます。
<cfoutput>#myVar#</cfoutput>
|
query 属性を指定すると、このタグはクエリー行をループし、startRow 値および maxRows 値で指定された範囲内の行ごとに出力を生成します。さらに、グループ化属性の値で指定されている場合は、重複エントリをグループ化または削除します。また、query.currentRow 変数を、処理中の現在の行に設定します。
クエリーを処理する cfoutput ブロックをネストする場合は、最上位レベルで query 属性と group 属性を指定します。一番内側の cfoutput ブロックを除いて、内側の各ブロックに group 属性を指定できます。
このタグには終了タグが必要です。
例
<!--- Run a sample query. ---> <cfquery name = "GetCourses" dataSource = "cfdocexamples"> 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>EXAMPLE: The next example uses the group attribute to eliminate duplicate lines from a list of course levels taught in each department.</p> <p><cfquery name = "GetCourses" dataSource = "cfdocexamples"></p> SELECT Dept_ID, CorLevel FROM courseList ORDER by Dept_ID, CorLevel </cfquery> <p><cfoutput query = "GetCourses" group="CorLevel" GroupCaseSensitive="True"> #Dept_ID# #CorLevel#<br></p> </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:</p> <br>Today is #DayofWeekAsString(DayofWeek(Now()))# <br>Today is <cfoutput>#DayofWeekAsString(DayofWeek(Now()))#</cfoutput> <p> EXAMPLE: This last example shows nested cfoutput tags:</p> <cfquery datasource="cfdocexamples" name="empSalary"> SELECT Emp_ID, firstname, lastname, e.dept_id, salary, d.dept_name FROM employee e, departmt d WHERE e.dept_id = d.dept_id ORDER BY d.dept_name </cfquery> <!--- Outer cfoutput. ---> <cfoutput query="empSalary" group="dept_id"> <h2>#dept_name#</h2> <table width="95%" border="2" cellspacing="2" cellpadding="2" > <tr> <th>Employee</th> <th>Salary</th> </tr> <cfset deptTotal = 0 > <!--- Inner cfoutput. ---> <cfoutput> <tr> <td>#empSalary.lastname#, #empSalary.firstname#</td> <td align="right">#DollarFormat(empSalary.salary)#</td> </tr> <cfset deptTotal = deptTotal + empSalary.salary> </cfoutput> <tr> <td align="right">Total</td> <td align="right">#DollarFormat(deptTotal)#</td> </tr> <cfset deptTotal = 0> </table> </cfoutput>
|