Dreamweaver でのレコード削除ページの作成

最終更新日 : 2024年4月25日

ユーザーがデータベースのレコードを削除できるレコード削除ページを Dreamweaver で作成する方法について説明します。

メモ

Dreamweaver 以降では、ユーザーインターフェイスが簡素化されています。 そのため、この記事で説明されているオプションの一部が Dreamweaver 以降には存在しない場合があります。 詳しくは、こちらの記事を参照してください。

レコード削除ページについて

アプリケーションには、ユーザーがデータベースのレコードを削除できるページのセットを含めることができます。ページは通常、検索ページ、結果ページ、および削除ページで構成されます。削除ページは通常、結果ページと連動して機能する詳細ページです。検索ページと結果ページでユーザーがレコードを取得し、削除ページでユーザーがレコードを確認して削除できます。

検索ページと結果ページを作成した後、結果ページに削除ページを開くリンクを追加し、レコードと送信ボタンを表示する削除ページを作成します。

削除するレコードの検索

ユーザーがレコードを削除する場合、まずデータベースでそのレコードを見つける必要があります。したがって、削除ページと連動する検索ページと結果ページが必要です。ユーザーは検索ページで検索条件を入力し、結果ページでレコードを選択します。ユーザーがレコードをクリックすると、削除ページが開かれ、HTML フォームにレコードが表示されます。

検索ページと結果ページを作成した後、結果ページに削除ページを開くリンクを作成する必要があります。次に、ユーザーが削除したいレコードのIDを渡すようにリンクを変更します。削除ページはこのIDを使用してレコードを見つけて表示します。

結果ページで、レコードの表示に使用されるテーブルの列を作成するには、最後のテーブル列内をクリックして、修正/テーブル/行または列を挿入を選択します。
「列」オプションと「現在の列の後」オプションを選択し、「OK」をクリックします。

列がテーブルに追加されます。

新しく作成されたテーブル列で、動的コンテンツプレースホルダーを含む行に文字列Deleteを入力します。タブ付き繰り返し領域内に文字列を入力してください。

削除を表す単語またはシンボルの画像を挿入することもできます。

Delete文字列を選択してリンクを適用します。
プロパティインスペクターで、リンクボックスに削除ページを入力します。任意のファイル名を入力できます。

リンクボックスの外側をクリックすると、Delete文字列がテーブルにリンク付きで表示されます。ライブビューを使用すると、リンクがすべてのテーブル行の同じテキストに適用されていることがわかります。

結果ページ上の削除リンクを選択します。
(ColdFusion)プロパティインスペクターのリンクボックスで、URLの最後に次の文字列を追加します:

?recordID=#recordsetName.fieldName#

疑問符は、その後に続くものが1つ以上のURLパラメーターであることをサーバーに伝えます。recordIDという単語はURLパラメーターの名前です(任意の名前を付けることができます)。削除ページで後で使用するため、URL パラメーターの名前をメモしてください。

等号の後の式は、パラメーターの値です。この場合、値は、レコードセットからレコードIDを返すColdFusion式によって生成されます。動的テーブルの各行に対して異なる ID が生成されます。ColdFusion 式で、recordsetName をレコードセットの名前に置き換え、fieldName を各レコードを一意に識別するレコードセット内のフィールドの名前に置き換えます。ほとんどの場合、フィールドはレコード ID 番号で構成されます。次の例では、フィールドは一意の場所コードで構成されています。

confirmDelete.cfm?recordID=#rsLocations.CODE#

ページが実行されると、レコードセットの CODE フィールドの値が動的テーブルの対応する行に挿入されます。たとえば、オーストラリアのキャンベラのレンタル拠点のコードがCBRの場合、動的テーブルのキャンベラ行では次のURLが使用されます:

confirmDelete.cfm?recordID=CBR

(PHP)プロパティインスペクターのリンクフィールドで、URLの末尾に次の文字列を追加します:

?recordID=<?php echo $row_recordsetName['fieldName']; ?>

疑問符は、その後に 1 つ以上の URL パラメーターが続くことをサーバーに通知します。recordID という単語は URL パラメーターの名前です(任意の名前を付けることができます)。削除ページで後で使用するため、URL パラメーターの名前をメモしてください。

等号の後の式は、パラメーターの値です。この場合、値は、レコードセットからレコード ID を返す PHP 式によって生成されます。動的テーブルの各行に対して異なる ID が生成されます。PHP 式で、recordsetName をレコードセットの名前に置き換え、fieldName を各レコードを一意に識別するレコードセット内のフィールドの名前に置き換えます。ほとんどの場合、フィールドはレコード ID 番号で構成されます。次の例では、フィールドは一意の場所コードで構成されます:

confirmDelete.php?recordID=<?php echo $row_rsLocations['CODE']; ?>

ページが実行されると、レコードセットの CODE フィールドの値が動的テーブルの対応する行に挿入されます。たとえば、オーストラリアのキャンベラのレンタル場所のコードが CBR の場合、動的テーブルのキャンベラ行では次の URL が使用されます:

confirmDelete.php?recordID=CBR

(ASP)プロパティインスペクターのリンクフィールドで、URLの末尾に 次の文字列を追加します:

?recordID=<%=(recordsetName.Fields.Item("fieldName").Value)%>

疑問符は、その後に続くものが1つ以上の URLパラメーターであることをサーバーに伝えます。recordIDという単語はURLパラメーターの名前です (任意の名前を付けることができます)。URLパラメーターの名前は後で削除ページで使用するため、覚えておいてください。

等号の後の式は、パラメーターの値です。この場合、 値はレコードセットからレコードIDを返すASP式によって生成されます。動的テーブルの各行に対して異なるIDが生成されます。ASP式で、recordsetNameを レコードセットの名前に置き換え、fieldNameを 各レコードを一意に識別するレコードセット内のフィールドの名前に置き換えます。ほとんどの場合、フィールドはレコードID 番号で構成されます。次の例では、フィールドは一意のロケーション コードで構成されています:

confirmDelete.asp?recordID=<%=(rsLocations.Fields.Item("CODE").Value)%>

ページが実行されると、レコードセットのCODEフィールドの値が動的テーブルの対応する行に挿入されます。たとえば、 オーストラリアのキャンベラのレンタル拠点のコードがCBRの場合、動的テーブルのキャンベラの行では次の URLが使用されます:

confirmDelete.asp?recordID=CBR

ページを保存します。
結果ページで、レコードの表示に使用するテーブルに列を作成するには、最後のテーブル列内をクリックし、「修正」>「テーブル」>「行または列を挿入」を選択します。
「列」オプションと「現在の列の後」オプションを選択し、「OK」をクリックします。

列がテーブルに追加されます。

新しく作成されたテーブル列で、動的コンテンツプレースホルダーを含む行に文字列Deleteを入力します。タブ付き繰り返し領域内に文字列を入力してください。

削除を表す単語やシンボルを含む画像を挿入することもできます。

Delete文字列を選択して リンクを適用します。
サーバービヘイビアパネル(ウィンドウ>サーバー ビヘイビア)で、プラス(+)ボタンをクリックし、ポップアップメニューから「詳細ページに移動」を選択します。
詳細ページボックスで、「参照」をクリックして削除 ページを見つけます。
URLパラメーターを渡すボックスで、recordIDなど、パラメーターの名前を指定します。

好きな名前を付けることができますが、後で削除ページで使用するため、名前をメモしておいてください。

レコードセットと列のポップアップメニューからレコードセットと列を選択して、ページを削除するときに渡す値を指定します。通常、この値はレコードの一意のキー ID など、レコードに固有のものです。
「URL パラメーター」オプションを選択します。
「OK」をクリックします。

選択したテキストの周りに特別なリンクが設定されます。 ユーザーがリンクをクリックすると、詳細ページに移動サーバービヘイビアーがレコード ID を含む URL パラメーターを指定された削除ページに渡します。例えば、URL パラメーターが recordID で、削除ページが confirmdelete.asp の場合、ユーザーがリンクをクリックしたときの URL は次のようになります:

http://www.mysite.com/confirmdelete.asp?recordID=43

URL の最初の部分 http://www.mysite.com/confirmdelete.asp が削除ページを開きます。2 番目の部分 ?recordID=43 が URL パラメーターです。これは、削除ページにどのレコードを検索して表示するかを示しています。 recordID という用語は URL パラメーターの名前で、43 がその値です。この例では、URL パラメーターにレコードの ID 番号 43 が含まれています。

削除ページの作成

レコードを一覧表示するページが完成したら、削除ページに切り替えます。削除ページにはレコードが表示され、本当に削除するかどうかをユーザーに確認します。ユーザーがフォームボタンをクリックして操作を確認すると、web アプリケーションがデータベースからレコードを削除します。

このページを作成するには、HTML フォームの作成、フォームに表示するレコードの取得、フォーム内のレコードの表示、データベースからレコードを削除するロジックの追加が必要です。レコードの取得と表示では、1 つのレコード(ユーザーが削除したいレコード)を保持するレコードセットを定義し、レコードセット列をフォームにバインドします。

メモ

削除ページには、一度に1つのレコード編集サーバービヘイビアーのみを含めることができます。例えば、削除ページにレコード挿入またはレコード更新サーバービヘイビアーを追加することはできません。

レコードを表示する HTML フォームを作成

ページを作成し、前のセクションで指定した削除ページとして保存します。

前のセクションで削除リンクを作成したときに削除ページを指定しました。ファイルを初回保存するときは、この名前を使用します(例:deleteConfirm.cfm)。

HTML フォームをページに挿入します(挿入 > フォーム > フォーム)。
非表示フォームフィールドをフォームに追加します。

非表示のフォームフィールドは、URL パラメーターによって渡されるレコード ID を格納するために必要です。非表示フィールドを追加するには、フォーム内に挿入ポイントを配置し、挿入 > フォーム > 非表示フィールドを選択します。

ボタンをフォームに追加します。

ユーザーはボタンをクリックして、表示されたレコードを確認して削除します。ボタンを追加するには、フォーム内に挿入ポイントを配置し、挿入 > フォーム > ボタンを選択します。

ページのデザインを思いどおりに強化して保存します。

ユーザーが削除したいレコードを取得します

バインディングパネル(ウィンドウ > バインディング)で、プラス(+)ボタンをクリックし、ポップアップメニューからレコードセット(クエリ) を選択します。

基本設定のレコードセットダイアログボックスまたはデータセットダイアログボックスが表示されます。 代わりに高度なレコードセットダイアログボックスが表示された場合は、「シンプル」をクリックします。

レコードセットに名前を付け、データソースとユーザーが削除できるレコードを含むデータベーステーブルを選択します。
[列]エリアで、ページに表示するテーブル列(レコードフィールド)を選択します。

レコードの一部のフィールドのみを表示するには、「選択済み」 をクリックし、リストでコントロール+クリック(Windows)またはCommand+クリック (Macintosh)して目的のフィールドを選択します。

表示しない場合でも、必ずレコードIDフィールドを含めてください。

結果ページから渡される URL パラメーターで指定されたレコードを検索して表示するため、次のようにフィルターセクションを設定します:
  • 「フィルター」領域の最初のポップアップメニューで、削除リンクが配置されているページから渡される URL パラメーターの値と一致する値を含むレコードセット内の列を選択します。 例えば、URL パラメーターにレコード ID 番号が含まれている場合は、レコード ID 番号が格納されている列を選択します。 前の項で説明した例では、CODE という名前のレコードセット列に、削除リンクが配置されているページによって渡された URL パラメーターの値と一致する値が含まれます。

  • 最初のメニューの横にあるポップアップメニューで、等号記号を選択します(選択されていない場合)。

  • 3 番目のポップアップメニューから「URL パラメーター」を選択します。 削除リンクが配置されているページでは、URL パラメーターを使用して、情報を削除ページに渡します。

  • 4 番目のボックスに、削除リンクが配置されているページから渡される URL パラメーターの名前を入力します。

     

レコードセットダイアログボックス
レコードセットダイアログボックス

「OK」をクリックします。

レコードセットがバインディングパネルに表示されます。

ユーザーが削除したいレコードを表示します

バインディングパネルでレコードセット列(レコード フィールド)を選択し、削除ページにドラッグします。

この読み取り専用の動的コンテンツを、フォームの範囲内に挿入してください。ページに動的コンテンツを挿入する詳細については、テキストを動的にするを参照してください。

次に、レコードID列を 非表示フォームフィールドにバインドする必要があります。

非表示要素が有効になっていることを確認し(表示 > 表示補助 > 非表示要素)、非表示フォームフィールドを表す黄色のシールドアイコンをクリックします。

非表示フォームフィールドが選択されます。

プロパティインスペクターで、値ボックスの横にある稲妻アイコンをクリックします。
動的データダイアログボックスで、レコードセット内のレコードID 列を選択します。

次の例では、レコードID列CODEに 固有のストアコードが含まれています。

レコード ID 列の選択
レコード ID 列の選択

「OK」をクリックしてページを保存します。
完成した削除ページ
完成した削除ページ

レコードを削除するロジックの追加

選択したレコードを削除 ページに表示した後、ユーザーが削除確認ボタンをクリックしたときにデータベースからレコードを削除する ロジックをページに追加する必要があります。 このロジックは、削除レコード サーバービヘイビアを使用して迅速かつ簡単に追加できます。

レコードを削除するサーバービヘイビアを追加するには (ColdFusion、PHP)

ColdFusionまたはPHPの削除 ページがDreamweaverで開いていることを確認します。
サーバービヘイビアパネル(ウィンドウ > サーバー ビヘイビア)で、プラス(+)ボタンをクリックし、削除レコードを選択します。
最初に変数が定義されているかを確認ボックスで、 プライマリキー値が選択されていることを確認します。

後からこのダイアログボックスで、プライマリキー値を指定します。

接続またはデータソース(ColdFusion)ポップアップメニューで、サーバービヘイビアが対象のデータベースに接続できるように、データベースへの接続を選択します。
テーブルポップアップメニューで、削除するレコードが含まれているデータベーステーブルを選択します。
プライマリキーカラムポップアップメニューで、レコード ID が含まれているテーブルカラムを選択します。

削除レコードサーバービヘイビアは、このカラムで一致するものを検索します。このカラムには、ページ上の非表示フォームフィールドにバインドしたレコードセットカラムと同じレコード ID データが含まれている必要があります。

レコード ID が数値の場合は、「数値」オプションを選択します。

(PHP)プライマリキー値ポップアップメニューで、削除するレコードを識別するレコード ID が含まれているページ上の変数を選択します。

変数は、非表示フォームフィールドによって作成されます。 これは非表示フィールドの name 属性と同じ名前を持ち、フォームのメソッド属性に応じてフォームまたは URL パラメーターのいずれかになります。

「削除後の移動先」ボックス、または「成功時の移動先」ボックスで、データベーステーブルからレコードが削除された後に開くページを指定します。

ユーザーに簡潔な成功メッセージを含むページ、またはレコードが削除されたことをユーザーが確認できるように残りのレコードを一覧表示するページを指定できます。

レコードの削除ダイアログボックス
レコードの削除ダイアログボックス

「OK」をクリックして作業を保存します。

レコードを削除するサーバービヘイビアーを追加するには(ASP)

ASP 削除ページが Dreamweaver で開かれていることを確認します。
サーバービヘイビアーパネル(ウィンドウ/サーバービヘイビアー)でプラス(+)ボタンをクリックし、「レコードを削除」を選択します。
接続ポップアップメニューで、サーバービヘイビアーが対象のデータベースに接続できるように、データベースへの接続を選択します。

接続を定義する必要がある場合は、「定義」ボタンをクリックします。

「テーブルから削除」ポップアップメニューで、削除するレコードが含まれているデータベーステーブルを選択します。
「レコードを選択元」ポップアップメニューで、削除するレコードが含まれているレコードセットを指定します。
「一意キーカラム」ポップアップメニューで、データベーステーブル内のレコードを識別するためのキーカラム(通常はレコード ID カラム)を選択します。

値が数値の場合は、「数値」オプションを選択します。 キーカラムは通常数値のみを受け入れますが、テキスト値を受け入れる場合もあります。

「送信による削除」ポップアップメニューで、サーバーに削除コマンドを送信する送信ボタンを持つ HTML フォームを指定します。
「削除後の移動先」ボックスで、データベーステーブルからレコードが削除された後に開くページを指定します。

ユーザーに簡潔な成功メッセージを含むページ、またはレコードが削除されたことをユーザーが確認できるように残りのレコードを一覧表示するページを指定できます。

「OK」をクリックして作業を保存します。

削除ページのテスト

検索、結果、削除ページをwebサーバーにアップロードし、ブラウザーを開いて削除する使い捨てテストレコードを検索します。

結果ページで削除リンクをクリックすると、削除ページが表示されます。

確認ボタンをクリックしてデータベースからレコードを削除します。
再度レコードを検索して、レコードが削除されたことを確認します。レコードは結果ページに表示されなくなります。