了解如何在 Dreamweaver 中生成一个删除记录页,以允许用户删除数据库中的记录。
用户界面已经在 Dreamweaver 和更高版本中做了简化。 因此,您可能在 Dreamweaver 和更高版本中找不到本文中描述的一些选项。 有关详细信息,请参阅此文章。
关于记录删除页
您的应用程序可以包含一套页面,\n让用户删除数据库中的记录。这些页面通常\n包括搜索页面、结果页面和删除页面。删除\n页面通常是与结果页面协同工作的详细信息页面。\n搜索和结果页面让用户检索记录,删除页面让用户确认并删除记录。
创建搜索和结果页面后,您在结果页面上添加链接以打开删除页面,然后构建一个显示记录和提交按钮的删除页面。
搜索要删除的记录
当用户想要删除记录时,他们必须首先在数据库中找到该记录。因此,您需要搜索和结果页面来配合删除页面。用户在搜索页面输入搜索条件,在结果页面选择记录。当用户点击记录时,删除页面打开并在 HTML 表单中显示记录。
创建指向删除页的链接
创建搜索和结果页面后,必须在结果页面上创建链接以打开删除页面。然后您修改链接以传递用户想要删除的记录的 ID。删除页面使用此 ID 来查找并显示记录。
手动创建链接
随即在该表格中将添加一列。
您也可以插入带有表示删除的单词或符号的图像。
点击链接框外部后,Delete 字符串在表格中显示为链接。如果您使用实时视图,可以看到链接应用到每个表格行中的相同文本。
?recordID=#recordsetName.fieldName#
问号告诉服务器后面是一个或多个 URL 参数。单词 recordID 是 URL 参数的名称(您可以自定义任何喜欢的名称)。注意 URL 参数的名称,因为稍后您将在删除页面中使用它。
等号\n后面的表达式是参数的值。在本例中,\n值由 ColdFusion 表达式生成,该表达式从记录集中返回\n记录 ID。为动态表中的每一行生成不同的 ID。在 ColdFusion 表达式中,将 recordsetName 替换为记录集的名称,将 fieldName 替换为记录集中用于唯一标识每条记录的字段名称。在大多数情况下,字段将包含记录 ID 号。在下例中,该字段由唯一位置代码组成:
confirmDelete.cfm?recordID=#rsLocations.CODE#
当页面运行时,记录集的 CODE 字段值会被插入到动态表的相应行中。例如,如果澳大利亚堪培拉的租赁地点代码为 CBR,则在动态表的堪培拉行中使用以下 URL:
confirmDelete.cfm?recordID=CBR
?recordID=<?php echo $row_recordsetName['fieldName']; ?>
问号告诉服务器后面跟着的是一个或多个 URL 参数。单词 recordID 是 URL 参数的名称\n(您可以创建任何您喜欢的名称)。记住 URL 参数的名称\n因为稍后您将在删除页面中使用它。
等号\n后面的表达式是参数的值。在本例中,值由 PHP 表达式生成,该表达式从记录集中返回记录 ID。为动态表中的每行\n生成不同的 ID。在 PHP 表达式中,将 recordsetName 替换为\n记录集的名称,将 fieldName 替换为\n记录集中唯一识别\n每个记录的字段名称。在大多数情况下,字段将包含记录 ID 编号。在以下示例中,字段包含唯一的\n位置代码:
confirmDelete.php?recordID=<?php echo $row_rsLocations['CODE']; ?>
当\n页面运行时,记录集 CODE 字段的值会插入到\n动态表的相应行中。例如,如果\n澳大利亚堪培拉的租赁地点的代码为 CBR,则在动态表的堪培拉行中使用以下\nURL:
confirmDelete.php?recordID=CBR
?recordID=<%=(recordsetName.Fields.Item("fieldName").Value)%>
问号\n告诉服务器后面跟着的是一个或多个\nURL 参数。recordID 一词是 URL 参数的名称(您可以起任何您喜欢的名称)。请记下 URL 参数的名称,\n因为稍后您将在删除页面中使用它。
等号\n后面的表达式是参数的值。在这种情况下,\n值由 ASP 表达式生成,该表达式从记录集\n返回记录 ID。为动态表中的每一行\n生成不同的 ID。在 ASP 表达式中,将 recordsetName 替换为\n您的记录集名称,并将 fieldName 替换为\n记录集中唯一标识\n每个记录的字段名称。在大多数情况下,该字段将包含记录 ID 号。在以下示例中,该字段包含唯一的位置代码:
confirmDelete.asp?recordID=<%=(rsLocations.Fields.Item(\"CODE\").Value)%>
当页面运行时,记录集的 CODE 字段值会插入到动态表中的相应行。例如,如果澳大利亚堪培拉租赁位置的代码是 CBR,则在动态表的堪培拉行中使用以下 URL:
confirmDelete.asp?recordID=CBR
以可视方式创建链接(仅限 ASP)
随即在该表格中将添加一列。
您也可以插入带有删除字词或符号的图像。
您可以随意命名,但请记下该名称,因为稍后您将在删除页面中使用它。
会出现一个围绕所选文本的特殊链接。 当用户单击该链接时,"转到详细信息页面"服务器行为会将包含记录 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 表单以显示记录
您在上一节中创建删除链接时指定了删除页面。首次保存文件时请使用此名称(例如 deleteConfirm.cfm)。
隐藏表单字段是存储由 URL 参数传递的记录 ID 所必需的。要添加隐藏字段,请将插入点放置在表单中,然后选择"插入">"表单">"隐藏字段"。
用户将单击按钮确认并删除显示的记录。要添加按钮,请将插入点放置在表单中,然后选择"插入">"表单">"按钮"。
检索用户要删除的记录
将出现简单的“记录集”或“数据集”对话框。 如果出现的是高级记录集对话框,请单击"简单"。
要仅显示某些记录字段,请单击"选中",然后按住 Control 键单击 (Windows) 或按住 Command 键单击 (macOS) 列表中的所需字段来选择字段。
请确保包含记录 ID 字段,即使您不会显示此字段。
从“筛选”区域的第一个弹出菜单中,选择记录集中的列,该列包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。 例如,如果 URL 参数包含一个记录 ID 号,则选择包含记录 ID 号的列。 在上一节讨论的示例中,记录集列 CODE 包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。
从第一个菜单旁边的弹出菜单中选择等号(如果尚未选定)。
从第三个弹出菜单中选择“URL 参数”。 包含“删除”链接的页使用 URL 参数向删除页传递信息。
在第四个文本框中,输入由带有“删除”链接的页传递的 URL 参数的名称。
记录集随即出现在“绑定”面板中。
显示用户要删除的记录
请确保在表单边界内插入此只读动态内容。有关在页面中插入动态内容的更多信息,请参阅使文本动态化。
接下来,您必须将记录 ID 列绑定到隐藏表单字段。
已选中隐藏表单域。
在以下示例中,记录 ID 列 CODE 包含唯一的商店代码。
添加用来删除记录的逻辑
在删除页面上显示选定记录后,您必须向页面添加逻辑,以便在用户单击"确认删除"按钮时从数据库中删除记录。您可以使用"删除记录"服务器行为快速轻松地添加此逻辑。
添加服务器行为以删除记录 (ColdFusion、PHP)
随后您将在对话框中指定主键值。
"删除记录"服务器行为在此列中搜索匹配项。该列应包含与您绑定到页面上隐藏表单字段的记录集列相同的记录 ID 数据。
如果记录 ID 是数值,请选择"数值"选项。
该变量是由隐藏表单域创建的。 它与隐藏字段的 name 属性具有相同的名称,并根据表单的 method 属性,可以是表单参数或 URL 参数。
您可以指定一个向用户显示简短成功消息的页面,或一个列出其余记录的页面,以便用户可以验证记录已被删除。
添加服务器行为以删除记录 (ASP)
如果您需要定义连接,则单击“定义”按钮。
如果该值是一个数字,则选择“数字”选项。 键列通常只接受数值,但有时也接受文本值。
您可以指定一个向用户显示简短成功消息的页面,或一个列出其余记录的页面,以便用户可以验证记录已被删除。
测试删除页
当您在结果页面上单击"删除"链接时,应显示删除页面。