注意:

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

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

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

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

削除するレコードの検索

ユーザーがレコードを削除する場合、まずそのレコードをデータベースで検索する必要があります。そのために、削除ページと連動する検索および結果ページが必要となります。ユーザーは、検索ページに検索基準を入力し、結果ページ上のレコードを選択します。ユーザーがレコードをクリックすると、削除ページが開き、レコードが HTML フォーム内に表示されます。

検索ページと結果ページを作成した後で、削除ページを開くためのリンクを結果ページ上に作成する必要があります。その後で、ユーザーが削除対象として指定したレコードの ID を渡すようにリンクを修正します。削除ページでは、この ID を使用してレコードが検索、表示されます。

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

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

  3. 新規作成のテーブル列で、動的コンテンツプレースホルダーが含まれる行に「削除」というストリングを入力します。タブ付きのリピート領域内に、このストリングを必ず入力します。

    さらに、削除を表す単語または記号と共にイメージを挿入することもできます。

  4. 削除」というストリングを選択し、リンクを適用します。
  5. プロパティインスペクターの、「リンク」ボックスに削除ページを入力します。任意のファイル名を入力できます。

    「リンク」ボックスの外側でクリックすると、「削除」ストリングがテーブル内に、リンクされた状態で表示されます。ライブビューを有効にすると、リンクが各テーブル行内の同じテキストに適用されていることを確認できます。

  6. 結果ページ上の削除リンクを選択します。
  7. (ColdFusion)プロパティインスペクターの「リンク」ボックスで、URL の末尾に次のストリングを追加します。
    ?recordID=#recordsetName.fieldName#

    疑問符は、後に URL パラメーターが続いていることをサーバーに示します。recordID という単語は、URL パラメーターの名前です(好きな名前を指定できます)。この URL パラメーターの名前は後で削除ページで使用するため、覚えておく必要があります。

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

    confirmDelete.cfm?recordID=#rsLocations.CODE#

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

    confirmDelete.cfm?recordID=CBR
  8. (PHP)プロパティインスペクターの「リンク」フィールドで、URL の末尾に次のストリングを追加します。
    ?recordID=<?php echo $row_recordsetName['fieldName']; ?>

    疑問符は、後に 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
  9. (ASP)プロパティインスペクターの「リンク」フィールドで、URL の末尾に次のストリングを追加します。
    ?recordID=<%=(recordsetName.Fields.Item("fieldName").Value)%>

    疑問符は、後に 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
  10. ページを保存します。
  1. 結果ページで、最後のテーブル列をクリックし、修正/テーブル/行または列の挿入を選択して、レコードの表示に使用する新しい列をテーブル内に作成します。
  2. 「列」オプションを選択し、「後の列」オプションを選択して、「OK」をクリックします。

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

  3. 新規作成のテーブル列で、動的コンテンツプレースホルダーが含まれる行に「削除」というストリングを入力します。タブ付きのリピート領域内に、このストリングを必ず入力します。

    さらに、削除を表す単語または記号と共にイメージを挿入することもできます。

  4. 削除」というストリングを選択し、リンクを適用します。
  5. サーバービヘイビアーパネル(ウィンドウ/サーバービヘイビアー)で「+」ボタンをクリックし、ポップアップメニューから「詳細ページへ移動」を選択します。
  6. 「詳細ページ」ボックスで「参照」をクリックし、削除ページを指定します。
  7. 「URL パラメーターの引き渡し」ボックスで、recordID などのパラメーターの名前を指定します。

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

  8. レコードセットポップアップメニューおよび列ポップアップメニューでレコードセットと列を選択し、削除ページに渡す値を指定します。通常、レコードのユニークキー ID など、レコードに固有の値を指定します。
  9. 「URL パラメーター」オプションを選択します。
  10. 「OK」をクリックします。

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

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

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

削除ページの作成

レコードの一覧を表示するページを作成したら、削除ページに切り換えてください。削除ページには、レコードが表示され、そのレコードを削除するかどうかの確認を求めるメッセージが表示されます。ユーザーがフォームボタンをクリックして削除の確認を行うと、Web アプリケーションによりデータベースからレコードが削除されます。

このページを作成するには、HTML フォームを作成し、そのフォームに表示するレコードを取得します。次に、そのレコードをフォームに表示し、データベースからそのレコードを削除するロジックを追加します。レコードを取得して表示するには、単一のレコード(ユーザーが削除しようとしているレコード)を保持するレコードセットを定義し、レコードセットの列とフォームのバインドを行います。

注意:

削除ページが同時に保有できるレコード編集用のサーバービヘイビアーは、常に 1 つだけです。例えば、削除ページには「レコードの挿入」や「レコードの更新」などのサーバービヘイビアーを追加できません。

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

  1. 新規ページを作成し、前の項で指定した削除ページとして保存します。

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

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

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

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

    このボタンをクリックすると、確認が行われ、表示されているレコードが削除されます。ボタンを追加するには、挿入ポイントをフォーム内に配置し、挿入/フォーム/ボタンを選択します。

  5. 必要に応じてページのデザインを改良し、それを保存します。

ユーザーが削除するレコードの取得

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

    基本設定のレコードセットダイアログボックスまたはデータセットダイアログボックスが表示されます。詳細設定のレコードセットダイアログボックスが表示された場合は、「基本設定」をクリックします。

  2. レコードセットの名前を指定し、データソースと、ユーザーが削除できるレコードが含まれるデータベーステーブルを選択します。
  3. 「列」領域で、ページに表示するテーブル列(レコードフィールド)を選択します。

    レコードの特定のフィールドだけを表示するには、「選択」をクリックし、Ctrl キー(Windows)または Command キー(Mac OS)を押しながらリスト内の目的のフィールドをクリックします。

    表示しない場合であっても、レコード ID フィールドを含めるようにします。

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

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

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

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

       

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

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

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

ユーザーが削除するレコードの表示

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

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

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

  2. 「不可視エレメント」が有効になっていることを確認し(表示/ビジュアルエイド/不可視エレメント)、非表示フォームフィールドを表す黄色のシールドアイコンをクリックします。

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

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

    次の例で、レコード ID 列 CODE には一意の保存コードが含まれています。

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

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

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

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

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

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

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

  4. 影響を受けるデータベースにサーバービヘイビアーが接続できるように、接続またはデータソース(ColdFusion)ポップアップメニューからそのデータベースへの接続を選択します。
  5. テーブルポップアップメニューから、削除するレコードを含むデータベーステーブルを選択します。
  6. プライマリキー列ポップアップメニューから、レコード ID を含むテーブル列を選択します。

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

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

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

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

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

    ユーザーに対する短い成功メッセージが格納されているページ、または残りのレコードの一覧のページを指定して、レコードが削除されたことをユーザーが確認できるようにします。

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

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

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

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

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

  4. テーブルから削除ポップアップメニューから、削除するレコードを含むデータベーステーブルを選択します。
  5. レコード選択元ポップアップメニューから、削除するレコードが含まれているレコードセットを指定します。
  6. ユニークキー列ポップアップメニューから、データベーステーブルのレコードを特定するキー列(通常は、レコード ID 列)を選択します。

    値が数値の場合は、「数値」オプションを選択します。通常、キー列に入力できるのは数値だけですが、テキスト値を使用できる場合もあります。

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

    ユーザーに対する短い成功メッセージが格納されているページ、または残りのレコードの一覧のページを指定して、レコードが削除されたことをユーザーが確認できるようにします。

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

削除ページのテスト

  1. Web サーバーに検索ページ、結果ページ、削除ページをアップロードしてブラウザーを開き、不要なテストレコードを検索して削除します。

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

  2. 「確認」ボタンをクリックして、データベースからレコードを削除します。
  3. レコードをもう一度検索して、レコードが削除されたことを確認します。削除したレコードは結果ページに表示されません。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー