CFLOOP: クエリーに対するループ  
説明

クエリーに対するループは、クエリーレコードセット内のレコードごとに実行されます。結果は cfoutput タグと同様です。ループが繰り返されるごとに、現在行の列が出力されます。このタイプの cfloop タグは、cfoutput タグ内で使用できないタグに対してループを行います。

 
シンタックス
<cfloop
   query = "query_name"
   startRow = "row_num"
   endRow = "row_num">
</cfloop>
 
関連項目

cfabort、cfbreak、cfexecute、cfexit、cfif、cflocation、cfoutput、cfswitch、cfthrow、cftry。詳細については、『ColdFusion MX 開発ガイド』の第2章の「CFML の要素」 の「cfloop と cfbreak」を参照してください。

 
<cfquery name = "MessageRecords"
dataSource = "cfdocexamples"> 
SELECT * FROM Messages 
</cfquery>
<cfloop query = "MessageRecords"> 
<cfoutput>#Message_ID#</cfoutput><br>
</cfloop>

cfloop タグでは、レコードセットの開始ポイントと終了ポイントをダイナミックに指定してループを繰り返すこともできます。これにより、後続の n セットのレコードをクエリーから取得します。この例では、MessageRecords クエリーで返される 5 番めのレコードから 10 番めのレコードまでループします。

<cfset Start = 5> 
<cfset End = 10> 
<cfloop query = "MessageRecords" 
startRow = "#Start#" 
endRow = "#End#"> 
<cfoutput>#MessageRecords.Message_ID#</cfoutput><br>
</cfloop>

レコードがなくなるか、現在のレコードのインデックスが endRow 属性の値を上回ると、ループは停止します。

次の例では、cfinclude タグを使用して、ページ名リストのクエリーによって返されたページ群を 1 つのドキュメントに結合します。

<cfquery name = "GetTemplate"
dataSource = "Library"
maxRows = "5"> 
SELECT TemplateName 
FROM Templates 
</cfquery> 
<cfloop query = "GetTemplate"> 
<cfinclude template = "#TemplateName#"> 
</cfloop> 
QUERY  
  必須
 

ループを制御するためのクエリーです。

STARTROW  
  オプション
 

ループに含めるクエリーの最初の行です。

ENDROW  
  オプション
 

ループに含めるクエリーの最後の行です。