用户界面已经在 Dreamweaver 和更高版本中做了简化。 因此,您可能在 Dreamweaver 和更高版本中找不到本文中描述的一些选项。 有关详细信息,请参阅此文章。
关于搜索页和结果页
您可以使用 Dreamweaver 构建一组页面,让用户搜索您的数据库并查看搜索结果。
在大多数情况下,您至少需要两个页面才能将此功能添加到您的 Web 应用程序中。第一个页面是包含 HTML 表单的页面,用户可在其中输入搜索参数。虽然此 页面不执行任何实际搜索,但它被称为搜索 页面。
您需要的第二个页面是结果页面,它执行 大部分工作。结果页执行以下任务:
读取搜索页提交的搜索参数
连接到数据库并查找记录
使用找到的记录建立记录集
显示记录集的内容
您也可以 添加详细信息页面。详细信息页面为用户提供有关结果页面上特定记录的更多信息。
如果您只有一个搜索参数,Dreamweaver 允许您在不使用 SQL 查询和变量的情况下将搜索功能添加到您的 Web 应用程序中。只需设计您的页面并完成 几个对话框。如果您有多个搜索参数,您需要编写 SQL 语句并为其定义多个变量。
Dreamweaver 在您的页面中插入 SQL 查询。当页面在服务器上运行时,会检查数据库表中的每个记录。如果记录中的指定字段满足您的 SQL 查询条件,则该记录将包含在记录集中。该 SQL 查询实际上构建了一个仅包含搜索结果的记录集。
例如,现场销售人员可能拥有某个地区中收入超过某个水平的客户信息。在搜索页面的表单中,销售助理输入\n地理区域和最低收入色阶,然后单击\n"提交"按钮将这两个值发送到服务器。在服务器上,这些值被传递给结果页面的 SQL 语句,然后创建一个仅包含指定区域内收入超过指定水平的客户的记录集。
生成搜索页
Web 上的搜索页面通常包含用户输入搜索参数的表单字段。至少,\n您的搜索页面必须具有带"提交"按钮的 HTML 表单。
要将 HTML 表单添加到搜索页面,请完成以下步骤。
将在页面上创建一个空表单。 您可能需要\n启用"不可见元素"("视图">"可视化辅助工具">\n"不可见元素")来查看表单的边界,这些边界由\n红色细线表示。
表单对象包括文本字段、菜单、选项和单选按钮。您可以添加任意数量的表单对象来帮助用户优化搜索。但是,请记住,搜索页面上的搜索参数越多,您的 SQL 语句就越复杂。
接下来,您需要告诉表单当用户单击"提交"按钮时将搜索参数发送到何处。
GET 通过将表单数据作为查询字符串附加到 URL 来发送表单数据。由于 URL 限制为 8192 个字符,因此不要将 GET 方法用于长表单。
POST 在消息正文中发送表单数据。
Default 使用浏览器的默认方法(通常是 GET)。
搜索页面已完成。
生成简单的结果页
当用户单击表单的"搜索"按钮时,\n搜索参数将发送到服务器上的结果页面。\n服务器上的结果页面(而非浏览器上的搜索页面)\n负责从数据库中检索记录。如果搜索页面向服务器提交单个搜索参数,您可以构建结果页面而无需使用 SQL 查询和变量。您可以创建一个\n带有筛选条件的基本记录集,该筛选条件会排除不满足\n搜索页面提交的搜索参数的记录。
如果您\n有多个搜索条件,则必须使用高级记录集\n对话框来定义记录集(请参阅 构建\n高级结果页面)。
创建记录集以保存\n搜索结果
如果您还没有结果页面,请创建一个空白动态页面(文件 > 新建 > 空白页面)。
如果出现高级对话框,请单击"简单"按钮切换到简单对话框。
连接的数据库应包含您希望用户搜索的数据。
在单参数搜索中,只能在单个表中搜索记录。要同时搜索多个表格, 您必须使用高级记录集对话框并定义 SQL 查询。
您应该只包含那些包含您想要 在结果页面上显示的信息的列。
暂时保持"记录集" 对话框为打开状态。接下来您将使用它来检索 搜索页面发送的参数,并创建记录集筛选条件来排除那些 不符合参数的记录。
创建记录集过滤器
例如,如果搜索页面发送的值是 城市名称,请选择表格中包含城市名称的列。
搜索页面使用表单变量或 URL 参数 将信息传递到结果页面。
对象的名称同时也是表单 变量或 URL 参数的名称。您可以通过切换到 搜索页面、单击表单上的表单对象来选择 它,然后在"属性"检查器中查看对象的名称来获取该名称。
例如,假设您想创建一个记录集,该记录集只包含前往特定国家/地区的探险 旅行。假设表中有一个名为 TRIPLOCATION 列。 同时假设搜索页面上的 HTML 表单使用 GET 方法, 并包含一个名为 Location 的菜单对象,该对象显示国家/地区 列表。以下示例显示您的"筛选条件"部分应该 如何设置:
测试值模拟了本应 从搜索页面返回的值。单击"确定"关闭测试 记录集。
您的页面上插入了一个服务器端脚本,该脚本在服务器上运行时会检查 数据库表中的每个记录。如果 记录中的指定字段符合筛选条件,则该 记录将被包含在记录集中。该脚本构建一个 只包含搜索结果的记录集。
下一步是 在结果页面上显示记录集。有关更多信息, 请参阅显示 搜索结果。
生成高级结果页
如果搜索页面向服务器提交多个搜索 参数,您必须为结果 页面编写 SQL 查询,并在 SQL 变量中使用搜索参数。
如果您只有一个搜索条件,可以使用简单记录集对话框来定义您的记录集(请参阅 构建基本结果页面 )。
高级对话框有一个用于输入 SQL 语句的文本区域。 如果显示的是简单对话框,请单击"高级"按钮切换到高级对话框。
连接应该是包含您希望用户搜索的数据的数据库。
确保语句包含用于保存搜索参数的变量的 WHERE 子句。在以下示例中,变量称为 varLastName 和 varDept:
SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬
WHERE LASTNAME LIKE 'varLastName' ¬
AND DEPARTMENT LIKE 'varDept'
为了减少输入量,您可以使用位于高级记录集对话框底部的数据库项目树。有关说明,请参阅 通过编写 SQL 定义高级记录集。
有关 SQL 语法帮助,请参阅 www.adobe.com/go/learn_dw_sqlprimer 上的 SQL 入门。
在以下 ASP 示例中,搜索页面上的 HTML 表单使用 GET 方法,并包含一个名为 LastName 的文本字段和另一个名为 Department 的文本字段:
在 ColdFusion 中,运行时值为 #LastName# 和 #Department#。在 PHP 中,运行时值为 $_REQUEST["LastName"] 和 $_REQUEST["Department"]。
默认值模拟原本会从搜索页面返回的值。单击"确定"关闭测试记录集。
SQL 查询将插入到您的页面中。
下一步是在结果页面上显示记录集。
显示搜索结果
创建用于保存搜索结果的记录集后,必须在结果页面上显示信息。显示记录可以是将各个列从"绑定"面板拖动到结果页面的简单操作。您可以添加导航链接以在记录集中前后移动,或者可以创建重复区域以在页面上显示多个记录。您还可以将链接添加到详细页。
有关在页面上显示动态内容(在动态表中显示结果除外)方法的更多信息,请参阅 显示数据库记录。
为结果页面\n创建详情页面
您的搜索和结果页面集可以包含\n一个详情页面,用于显示结果页面上特定记录的更多信息。在这种情况下,您的结果页面同时也充当主从页面集中的母版页。
创建关联以打开相关\n页面 (ASP)
您可以创建一个链接,用于打开相关页面并将现有参数传递到该页面。此服务器\n行为仅在使用 ASP 服务器模型时可用。
在\n向页面添加"转到相关页面"服务器行为之前,请确保\n该页面接收来自其他页面的表单或 URL 参数。服务器\n行为的作用是将这些参数传递到第三个\n页面。例如,您可以将结果页面接收到的搜索参数传递到另一个页面,从而避免用户再次输入\n搜索参数。
此外,您可以选择页面上的文本或图像作为指向相关页面的链接,也可以将指针定位在页面上但不选择任何内容,系统会插入链接文本。
如果当前页面向自身提交数据,请输入当前\n页面的文件名称。
单击新关联时,页面会使用查询字符串将参数\n传递到相关页面。