演習 3: 「Trip Search Results」の最初のページの作成

ユーザーが検索基準を入力し、フォームを送信した後、次の図で示すとおり「Trip Search Results」ページに結果が表示されます。


この図は、旅行検索結果フォームを示しています。

「Trip Search Results」ページ (アクションページと呼ばれることもある) に含まれるロジックにより、ColdFusion の文字列操作機能が使用され、cfquery タグに囲まれた SQL SELECT ステートメントを作成する CFC メソッドが呼び出されます。このアクションぺージは、cfoutput タグを使って結果を表示します。

「Trip Search Results」ページを作成するには :

  1. 空白のドキュメントを作成し、それに "tripsearchresult.cfm" という名前を付けて my_app ディレクトリに保存します。

    メモ: Dreamweaver を使用している場合は、[カテゴリ] リストの [ダイナミックページ] を選択して、[ダイナミックページ] リストで [ColdFusion] を選択します。

  2. 次のコードを入力するか、Dreamweaver による実行で説明されている手順を実行します。
    <cfinvoke
    	component="cfdocs.getting_started.my_app.components.gettrips" 
    	method="getTripsFromForm"
    	returnvariable="TripResult">
    </cfinvoke>
    
  3. cfinvoke の終了タグの後に次のコードを入力するか、コピー & ペーストします。
    <html>
    <head>
    <title>Trip Maintenance - Search Results</title>
    </head>
    <body>
    	<img src="images/tripsearchresults.gif">
    	<table border="0" cellpadding="3" cellspacing="0">
    		<tr bgcolor="Gray">
    			<td>	Trip Name
    			</td>
    			<td>	Location
    			</td>
    			<td>	Departure Date
    			</td>
    			<td>	Return Date
    			</td>
    			<td>	価格
    			</td>
    		</tr>
    		<cfoutput query="TripResult">
    			<tr>  
    				<td>	#tripName#
    				</td>
    				<td>	#tripLocation#
    				</td>
    				<td>	#departureDate#
    				</td>
    				<td>	#returnDate#
    				</td>
    				<td>	#price#
    				</td>
    			</tr>
    		</cfoutput>
    </table>
    </body>
    </html>
    
  4. ファイルを保存します。

Dreamweaver による実行

前の演習で実行したように、メソッドを呼び出すコードを Dreamweaver を使って生成することができます。

Dreamweaver を使ってメソッドを呼び出すには :

  1. [コンポーネント] タブをクリックします。
  2. cfdocs.getting_started.my_app.components の隣に表示される [+] ボタンをクリックします。
  3. gettrips の隣に表示される [+] ボタンをクリックします。
  4. クエリー getTripsFromForm() を選択し、"tripsearchresult.cfm" ファイルの一番上にドラッグします。
  5. 次のとおり、returnvariable の値がクエリー名 TripResult となるよう変更します。
    returnvariable="TripResult"
    
  6. 「Trip Search Results」ページを作成するには :の手順 3 に戻ります。

コードの確認

次の表で、tripLocation の WHERE 節を作成するために使用したコードを説明します。

コード 説明
<cfset WhereClause = " 0=0 "> 

cfset タグは、作成される WHERE 節を保持する WhereClause 変数を初期化します。ユーザーがまったく検索基準を入力しなかった場合でも、WHERE 節にサブ節が 1 つできるように初期値は " 0=0 " に設定されます。

<cfif Form.tripLocationValue GT "">         

cfif タグは、tripLocation 検索基準の Value 入力フィールドにユーザーが値を入力しているかどうかをテストします。

SELECT tripName, tripLocation,
departureDate, returnDate, price, tripID
FROM trips
WHERE #PreserveSingleQuotes(WhereClause)#

実行される SQL クエリーです。PreserveSingleQuotes 関数によって、引用符で囲まれた内容が確実にデータベースサーバーに渡されます。

上のコードで作成されるのは、tripLocation のサブ節のみです。次の演習で、他の 2 つのクエリー対象列である departureDate と price のためのコードを追加します。


ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/coldfusion/7_jp/htmldocs/dynamic8.htm