有个朋友的找我帮忙。他是HTML页面现在想做个查询的功能。我想请问大家可以用脚本来做查询功能不。请指点下。
谢谢
------解决方案--------------------------------------------------------
建立HTML查询表单
创建动态参数的最常用的方法是使用作为用户界面的表单(Form)。你可以在表单中包含文本框,选择框,单选按钮,多选按钮等,供用户用来输入信息。表单很容易建立,并可提供许多灵活的数据输入选项。表单提交时,Form变量会自动被创建,你可以利用这些变量执行对数据源的查询。
除了HTML表单,你还可以用ColdFusion的CFFORM标签建立表单。关于这方面的详细内容后文有述。
例子:查询表单
下面的例子是一个简单的查询表单:
<FORM ACTION="employeesearch.cfm" METHOD="Post">
<PRE>
Last Name: <INPUT TYPE="text"
NAME="LastName">
Department:
<SELECT NAME="Department">
<OPTION>Accounting
<OPTION>Administration
<OPTION>Engineering
<OPTION>Sales
</SELECT>
<INPUT TYPE="Submit" VALUE="Search">
</PRE>
</FORM>
这个表单有两项输入:LastName和Department.用户可以在文本框中输入名字,从选择列表中选择一个部门。每个OPTION标签提供给用户一个选项。当提交按钮被点击时,ACTION属性所指定的文件会被打开,Form变量作为动态参数被传递给该文件。
假设用户输入了名字“Peterson”并选择了“Sales”。当她点击提交按钮时,下面的Form变量会被传递给文件employeesearch.cfm:
LastName=Peterson
Department=Sales
设置表单的ACTION属性和METHOD属性
你必须设置表单的ACTION属性,告诉流览器当用户点击提交按钮时调用哪一个文件。你还必须将表单的METHOD属性设置为Post。在下面的例子中,当用户点击提交按钮时,调用employeesearch.cfm文件。
<FORM ACTION="employeesearch.cfm" METHOD="Post">
实现数据查询字段
为表单建立查询字段非常简单。你只需要为你想搜索的数据库字段建立表单查询字段。为了使文件有更好的可读性,可以让表单字段与数据库字段有相同的名字。
例如,如果你有一个表Employees,表中有三个字段FirstName,LastName,和Department,你的表单字段可以是:
Name: <INPUT TYPE="text" NAME="FirstName">
LastName: <INPUT TYPE="text" NAME="LastName">
Department: <INPUT TYPE="text" NAME="Department">
URL参数REQUSTTIMEOUT
当请求一个ColdFusion文件时,你可以在URL中传递REQUESTTIMEOUT参数,指定数据源连接超时的秒数,以防止一个数据源连接花费太多的时间。这个参数将覆盖ColdFusion Administrator中的缺省值。其使用的语法为:
http://myserver.com/cfpages?REQUESTTIMEOUT=100
例子:动态SQL
下面的文件searchform.cfm建立了一个查询表单:
<HTML>
<HEAD>
<TITLE>Employee Search</TITLE>
</HEAD>
<BODY>
<FORM ACTION="employeesearch.cfm" METHOD="Post">
<PRE>
Last Name: <INPUT TYPE="text" NAME="LastName">
Department: <SELECT NAME="Department">
<OPTION>Accounting
<OPTION>Administration
<OPTION>Engineering
<OPTION>Sales
</SELECT>
<INPUT TYPE="Submit" VALUE="Search">
</PRE>
</FORM>
</BODY>
</HTML>
当用户点击提交按钮时,下面的文件Employeesearch.cfm用来选择和显示查询结果:
<!--- CFML application page to implement employee search --->
<!--- Query the database --->
<CFQUERY NAME="EmployeeList"
DATASOURCE="CompanyDB">
SELECT *
FROM Employees
WHERE LastName = ?LastName#
AND Department = ?Department#
</CFQUERY>
<!--- Page header --->
<HTML>
<HEAD>
<TITLE>Employee Search Results</TITLE>
</HEAD>
<BODY>
<H2>Organization Search Results</H2>
<!--- Summarize search criteria for user --->
<CFOUTPUT>
<P>The search for #Form.LastName# in
the #Form.Department#
returned these results:</P>
</CFOUTPUT>
<--- Display results --->
<CFOUTPUT QUERY="EmployeeList">
<HR>
#FirstName# #LastName# (Phone: #PhoneNumber#)<BR>
</CFOUTPUT>
<!--- Page footer --->
<P>
Thank you for searching the employee database!</P>
<HR>
</BODY>
</HTML>
模式匹配查询
当你允许用户输入文本作为查询条件的一部分时,你通常不想查询与输入完全匹配的值,你通常需要查询与输入文本类似的值。在这种情况下,可以使用模式匹