在 Dreamweaver 中生成删除记录页
注意:用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。
关于记录删除页
应用程序可以包含允许用户删除数据库中记录的一组页。这组页通常由一个搜索页、一个结果页和一个删除页组成。删除页通常是一个与结果页一同使用的详细页。用户可以使用搜索页和结果页检索记录,并使用删除页来确认和删除记录。
创建搜索页和结果页后,在结果页上添加链接来打开删除页,然后生成显示记录和“提交”按钮的删除页。
搜索要删除的记录
当用户要删除某个记录时,他们必须首先在数据库中找到该记录。因此,您需要一个搜索页和一个结果页以便使用删除页。用户在搜索页中输入搜索条件,并在结果页中选择记录。当用户单击该记录时,删除页将打开并在 HTML 表单中显示该记录。
创建指向删除页的链接
创建搜索页和结果页后,您必须在结果页上创建用来打开删除页的链接。然后修改这些链接传递用户要删除的记录的 ID。删除页使用该 ID 来查找和显示记录。
手动创建链接
- 在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择“修改”>“表格”>“插入行或列”。
- 选择“列”选项和“当前列之后”选项,并单击“确定”。
随即在该表格中将添加一列。
- 在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。
您还可以插入图像,上面带有指示删除的文字或符号。
- 选择 Delete 字符串将一个链接应用于该字符串。
- 在属性检查器的“链接”框中输入删除页。您可以输入任何文件名。
在“链接”框外单击后,Delete 字符串在表格中显示为链接状态。如果启用“实时”视图,您可以看到该链接被应用于每个表格行中的相同文本。
- 在结果页上选择该“删除”链接。
- (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
- (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
- (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
- 保存该页面。
以可视化方式创建链接(仅适于 ASP)
- 在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择“修改”>“表格”>“插入行或列”。
- 选择“列”选项和“当前列之后”选项,并单击“确定”。
随即在该表格中将添加一列。
- 在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。
您还可以插入图像,上面带有指示删除的文字或符号。
- 选择 Delete 字符串将一个链接应用于该字符串。
- 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后从弹出菜单中选择“转到详细页面”。
- 在“详细页”框中,单击“浏览”并定位删除页。
- 在“传递 URL 参数”框中,指定参数的名称,如 recordID。
可以使用您喜欢的任何名称,但一定要记下此名称,因为后面要在删除页中使用它。
- 从记录集和“列”弹出菜单中选择记录集和列,以指定要传递到删除页的值。通常,该值对于记录是唯一的,如记录的唯一键 ID。
- 选择“URL 参数”选项。
- 单击“确定”。
会出现一个围绕所选文本的特殊链接。当用户单击该链接时,“转到详细页面”服务器行为将一个包含记录 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)。
- 在页面上插入一个 HTML 表单(“插入”>“表单”>“表单”)。
- 在表单中添加一个隐藏表单域。
该隐藏表单域是存储 URL 参数传递的记录 ID 所必需的。若要添加隐藏字段,请将插入点置于表单中,并选择“插入”>“表单”>“隐藏域”。
- 在表单上添加按钮。
用户将单击该按钮以确认和删除所显示的记录。若要添加按钮,请将插入点置于表单中,然后选择“插入”>“表单”>“按钮”。
- 您可以通过所需的任何方式增强页面的设计并将其保存。
检索用户希望删除的记录
- 在“绑定”面板(“窗口”>“绑定”)中,单击加号 (+) 按钮并从弹出菜单中选择“记录集(查询)”。
将出现简单的“记录集”或“数据集”对话框。如果出现的是高级“记录集”对话框,请单击“简单”。
- 为该记录集命名,并选择一个数据源和包含用户可删除的记录的数据库表。
- 在“列”区域中,选择要在页上显示的表格列(记录字段)。
若要只显示记录的某些字段,请单击“已选定”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表中的列,以选择所需字段。
确保包含记录 ID 字段,即使您不打算显示该字段。
- 如下所示完成“筛选”部分,以便查找和显示结果页所传递的 URL 参数中指定的记录:
- 从“筛选”区域的第一个弹出菜单中,选择记录集中的列,该列包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。例如,如果 URL 参数包含一个记录 ID 号,则选择包含记录 ID 号的列。在上一节讨论的示例中,记录集列 CODE 包含的值与带有“删除”链接的页所传递的 URL 参数值相匹配。
- 从第一个菜单旁边的弹出菜单中选择等号(如果尚未选定)。
- 从第三个弹出菜单中选择“URL 参数”。包含“删除”链接的页使用 URL 参数向删除页传递信息。
- 在第四个文本框中,输入由带有“删除”链接的页传递的 URL 参数的名称。
- 单击“确定”。
记录集随即出现在“绑定”面板中。
显示用户希望删除的记录
- 在“绑定”面板上选择记录集列(记录字段)并将它们拖动到删除页。
请确保您在表单边框内插入只读动态内容。有关在页面中插入动态内容的详细信息,请参阅将文本动态化。
接着,必须将记录 ID 列绑定到隐藏表单域。
- 确保启用了“不可见元素”(“查看”>“可视化助理”>“不可见元素”),然后单击代表隐藏表单字段的黄色盾牌图标。
已选中隐藏表单域。
- 在属性检查器中,单击“值”框旁边的闪电图标。
- 在“动态数据”对话框的记录集中选择记录 ID 列。
在下面的示例中,记录 ID 列 CODE 包含唯一存储代码。
选定的记录 ID 列 - 单击“确定”,保存该页。完成后的删除页
添加用来删除记录的逻辑
在删除页上显示所选记录后,您必须向该页添加当用户单击“确认删除”按钮时从数据库中删除该记录的逻辑。您可以使用“删除记录”服务器行为快速方便地添加此逻辑。
添加服务器行为以删除记录(ColdFusion、PHP)
- 请确保 ColdFusion 或 PHP 删除页在 Dreamweaver 中打开。
- 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后选择“删除记录”。
- 在“首先检查是否已定义变量”框中,确保选择“主键值”。
随后您将在对话框中指定主键值。
- 在“连接”或“数据源”(ColdFusion) 弹出菜单中,选择一个指向该数据库的连接,以便服务器行为可以连接到受影响的数据库。
- 在“表格”弹出菜单中,选择包含要删除的记录的数据库表。
- 在“主键列”弹出菜单中,选择包含记录 ID 的表格列。
“删除记录”服务器行为将在此列搜索匹配值。此列与绑定到页面上的隐藏表单域的记录集列应包含相同的记录 ID 数据。
如果该记录 ID 是一个数字,请选择“数字”选项。
- (PHP) 在“主键值”弹出菜单中,选择页上包含记录 ID 的变量,该记录 ID 标识了要删除的记录。
该变量是由隐藏表单域创建的。其名称与隐藏字段的 name 属性相同,是一个表单参数或 URL 参数,具体取决于该表单的 method 属性。
- 在“删除后,转到”框或“如果成功,则转到”框中,指定从数据库表删除该记录后要打开的页。
可以指定向用户显示简短的成功消息的页,或者指定一个在其中列出剩余记录的页,使用户可以验证该记录是否已被删除。
“删除记录”对话框 - 单击“确定”保存您的工作。
添加服务器行为以删除记录 (ASP)
- 请确保 ASP 删除页在 Dreamweaver 中打开。
- 在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮,然后选择“删除记录”。
- 在“连接”弹出菜单中,选择一个到该数据库的连接,这样服务器行为就可以连接到受影响的数据库。
如果您需要定义连接,则单击“定义”按钮。
- 在“从表格中删除”弹出菜单中,选择包含要删除的记录的数据库表格。
- 在“选取记录自”弹出菜单中,指定包含要删除的记录的记录集。
- 在“唯一键列”弹出菜单中,选择一个键列(通常是记录 ID 列)来标识数据库表中的记录。
如果该值是一个数字,则选择“数字”选项。键列通常只接受数值,但有时候也接受文本值。
- 在“提交此表单以删除”弹出菜单中,指定具有将删除命令发送到服务器的“提交”按钮的 HTML 表单。
- 在“删除后,转到”框中,指定从数据库表格删除该记录之后将打开的页。
可以指定向用户显示简短的成功消息的页,或者指定一个在其中列出剩余记录的页,使用户可以验证该记录是否已被删除。
- 单击“确定”保存您的工作。
测试删除页
- 将搜索、结果和删除页上传到 Web 服务器,打开浏览器,然后搜索要删除的一次性测试记录。
当单击结果页上的“删除”链接时,将显示删除页。
- 单击“确认”按钮可从数据库中删除该记录。
- 要验证记录是否已被删除,请再次搜索该记录。结果页中将不再显示该记录。
更多此类内容
- 生成搜索页和结果页
- URL 参数