注意:

用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章

关于记录删除页

应用程序可以包含允许用户删除数据库中记录的一组页。这组页通常由一个搜索页、一个结果页和一个删除页组成。删除页通常是一个与结果页一同使用的详细页。用户可以使用搜索页和结果页检索记录,并使用删除页来确认和删除记录。

创建搜索页和结果页后,在结果页上添加链接来打开删除页,然后生成显示记录和“提交”按钮的删除页。

搜索要删除的记录

当用户要删除某个记录时,他们必须首先在数据库中找到该记录。因此,您需要一个搜索页和一个结果页以便使用删除页。用户在搜索页中输入搜索条件,并在结果页中选择记录。当用户单击该记录时,删除页将打开并在 HTML 表单中显示该记录。

创建搜索页和结果页后,您必须在结果页上创建用来打开删除页的链接。然后修改这些链接传递用户要删除的记录的 ID。删除页使用该 ID 来查找和显示记录。

  1. 在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择“修改”>“表格”>“插入行或列”。
  2. 选择“列”选项和“当前列之后”选项,并单击“确定”。

    随即在该表格中将添加一列。

  3. 在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。

    您还可以插入图像,上面带有指示删除的文字或符号。

  4. 选择 Delete 字符串将一个链接应用于该字符串。
  5. 在属性检查器的“链接”框中输入删除页。您可以输入任何文件名。

    在“链接”框外单击后,Delete 字符串在表格中显示为链接状态。如果启用“实时”视图,您可以看到该链接被应用于每个表格行中的相同文本。

  6. 在结果页上选择该“删除”链接。
  7. (ColdFusion) 在属性检查器的“链接”框中,将下面的字符串添加到 URL 的末尾:
    ?recordID=#recordsetName.fieldName#

    问号将告知服务器接下来是一个或多个 URL 参数。单词“recordID”是 URL 参数的名称(您可以指定任何所需的名称)。记下该 URL 参数的名称,因为接下来会在删除页中用到它。

    等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 ColdFusion 表达式生成。它将为动态表格中的每一行生成一个不同的 ID。在 ColdFusion 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记录的字段的名称来替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组成:

    confirmDelete.cfm?recordID=#rsLocations.CODE#

    当该页运行时,记录集的 CODE 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 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 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 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 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL:

    confirmDelete.asp?recordID=CBR
  10. 保存该页面。
  1. 在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择“修改”>“表格”>“插入行或列”。
  2. 选择“列”选项和“当前列之后”选项,并单击“确定”。

    随即在该表格中将添加一列。

  3. 在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。

    您还可以插入图像,上面带有指示删除的文字或符号。

  4. 选择 Delete 字符串将一个链接应用于该字符串。
  5. 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后从弹出菜单中选择“转到详细页面”。
  6. 在“详细页”框中,单击“浏览”并定位删除页。
  7. 在“传递 URL 参数”框中,指定参数的名称,如 recordID。

    可以使用您喜欢的任何名称,但一定要记下此名称,因为后面要在删除页中使用它。

  8. 从记录集和“列”弹出菜单中选择记录集和列,以指定要传递到删除页的值。通常,该值对于记录是唯一的,如记录的唯一键 ID。
  9. 选择“URL 参数”选项。
  10. 单击“确定”。

    会出现一个围绕所选文本的特殊链接。当用户单击该链接时,“转到详细页面”服务器行为将一个包含记录 ID 的 URL 参数传递到指定删除页。例如,如果 URL 参数名为 recordID,删除页名为 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 表单;检索要在表单中显示的记录;在表单中显示记录;添加逻辑以从数据库中删除记录。检索和显示记录分两步:定义一个用来存放单个记录(用户希望删除的记录)的记录集;将该记录集的列绑定到表单。

注意:

删除页一次只能包含一个记录编辑服务器行为。例如,您不能将“插入记录”或“更新记录”服务器行为添加到删除页。

创建用来显示记录的 HTML 表单

  1. 创建页面,并将它另存为您在上一节指定的删除页。

    您在上一节创建“删除”链接时已指定了一个删除页。在第一次保存该文件时将使用该名称(如 deleteConfirm.cfm)。

  2. 在页面上插入一个 HTML 表单(“插入”>“表单”>“表单”)。
  3. 在表单中添加一个隐藏表单域。

    该隐藏表单域是存储 URL 参数传递的记录 ID 所必需的。若要添加隐藏字段,请将插入点置于表单中,并选择“插入”>“表单”>“隐藏域”。

  4. 在表单上添加按钮。

    用户将单击该按钮以确认和删除所显示的记录。若要添加按钮,请将插入点置于表单中,然后选择“插入”>“表单”>“按钮”。

  5. 您可以通过所需的任何方式增强页面的设计并将其保存。

检索用户希望删除的记录

  1. 在“绑定”面板(“窗口”>“绑定”)中,单击加号 (+) 按钮并从弹出菜单中选择“记录集(查询)”。

    将出现简单的“记录集”或“数据集”对话框。如果出现的是高级“记录集”对话框,请单击“简单”。

  2. 为该记录集命名,并选择一个数据源和包含用户可删除的记录的数据库表。
  3. 在“列”区域中,选择要在页上显示的表格列(记录字段)。

    若要只显示记录的某些字段,请单击“已选定”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表中的列,以选择所需字段。

    确保包含记录 ID 字段,即使您不打算显示该字段。

  4. 如下所示完成“筛选”部分,以便查找和显示结果页所传递的 URL 参数中指定的记录:
    • 从“筛选”区域的第一个弹出菜单中,选择记录集中的列,该列包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。例如,如果 URL 参数包含一个记录 ID 号,则选择包含记录 ID 号的列。在上一节讨论的示例中,记录集列 CODE 包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。

    • 从第一个菜单旁边的弹出菜单中选择等号(如果尚未选定)。

    • 从第三个弹出菜单中选择“URL 参数”。包含“删除”链接的页使用 URL 参数向删除页传递信息。

    • 在第四个文本框中,输入由带有“删除”链接的页传递的 URL 参数的名称。

       

    “记录集”对话框
    “记录集”对话框

  5. 单击“确定”。

    记录集随即出现在“绑定”面板中。

显示用户希望删除的记录

  1. 在“绑定”面板上选择记录集列(记录字段)并将它们拖动到删除页。

    请确保您在表单边框内插入只读动态内容。有关在页面中插入动态内容的详细信息,请参阅将文本动态化

    接着,必须将记录 ID 列绑定到隐藏表单域。

  2. 确保启用了“不可见元素”(“查看”>“可视化助理”>“不可见元素”),然后单击代表隐藏表单字段的黄色盾牌图标。

    已选中隐藏表单域。

  3. 在属性检查器中,单击“值”框旁边的闪电图标。
  4. 在“动态数据”对话框的记录集中选择记录 ID 列。

    在下面的示例中,记录 ID 列 CODE 包含唯一存储代码。

    选定的记录 ID 列
    选定的记录 ID 列

  5. 单击“确定”,保存该页。
    完成后的删除页
    完成后的删除页

添加用来删除记录的逻辑

在删除页上显示所选记录后,您必须向该页添加当用户单击“确认删除”按钮时从数据库中删除该记录的逻辑。您可以使用“删除记录”服务器行为快速方便地添加此逻辑。

添加服务器行为以删除记录(ColdFusion、PHP)

  1. 请确保 ColdFusion 或 PHP 删除页在 Dreamweaver 中打开。
  2. 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后选择“删除记录”。
  3. 在“首先检查是否已定义变量”框中,确保选择“主键值”。

    随后您将在对话框中指定主键值。

  4. 在“连接”或“数据源”(ColdFusion) 弹出菜单中,选择一个指向该数据库的连接,以便服务器行为可以连接到受影响的数据库。
  5. 在“表格”弹出菜单中,选择包含要删除的记录的数据库表。
  6. 在“主键列”弹出菜单中,选择包含记录 ID 的表格列。

    “删除记录”服务器行为将在此列搜索匹配值。此列与绑定到页面上的隐藏表单域的记录集列应包含相同的记录 ID 数据。

    如果该记录 ID 是一个数字,请选择“数字”选项。

  7. (PHP) 在“主键值”弹出菜单中,选择页上包含记录 ID 的变量,该记录 ID 标识了要删除的记录。

    该变量是由隐藏表单域创建的。其名称与隐藏字段的 name 属性相同,是一个表单参数或 URL 参数,具体取决于该表单的 method 属性。

  8. 在“删除后,转到”框或“如果成功,则转到”框中,指定从数据库表删除该记录后要打开的页。

    可以指定向用户显示简短的成功消息的页,或者指定一个在其中列出剩余记录的页,使用户可以验证该记录是否已被删除。

    “删除记录”对话框
    “删除记录”对话框

  9. 单击“确定”保存您的工作。

添加服务器行为以删除记录 (ASP)

  1. 请确保 ASP 删除页在 Dreamweaver 中打开。
  2. 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后选择“删除记录”。
  3. 在“连接”弹出菜单中,选择一个到该数据库的连接,这样服务器行为就可以连接到受影响的数据库。

    如果您需要定义连接,则单击“定义”按钮。

  4. 在“从表格中删除”弹出菜单中,选择包含要删除的记录的数据库表格。
  5. 在“选取记录自”弹出菜单中,指定包含要删除的记录的记录集。
  6. 在“唯一键列”弹出菜单中,选择一个键列(通常是记录 ID 列)来标识数据库表中的记录。

    如果该值是一个数字,则选择“数字”选项。键列通常只接受数值,但有时候也接受文本值。

  7. 在“提交此表单以删除”弹出菜单中,指定具有将删除命令发送到服务器的“提交”按钮的 HTML 表单。
  8. 在“删除后,转到”框中,指定从数据库表格删除该记录之后将打开的页。

    可以指定向用户显示简短的成功消息的页,或者指定一个在其中列出剩余记录的页,使用户可以验证该记录是否已被删除。

  9. 单击“确定”保存您的工作。

测试删除页

  1. 将搜索、结果和删除页上传到 Web 服务器,打开浏览器,然后搜索要删除的一次性测试记录。

    当单击结果页上的“删除”链接时,将显示删除页。

  2. 单击“确认”按钮可从数据库中删除该记录。
  3. 要验证记录是否已被删除,请再次搜索该记录。结果页中将不再显示该记录。

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略