万卷书>>电脑书籍>>网页制作>>网页制作软件使用>>ColdFusion 初级教程

WANJUANSHU.COM

建立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>


 

模式匹配查询


 

当你允许用户输入文本作为查询条件的一部分时,你通常不想查询与输入完全匹配的值,你通常需要查询与输入文本类似的值。在这种情况下,可以使用模式匹配查询。要实现模式匹配查询,可以将一个或多个通配符(在ODBC中用“%”表示)与LIKE运算符结合使用。


 

例如,让用户填充一个名为“LastName”的Form字段,查询一员工信息,可以用如下语法:


 

SELECT *


 

FROM Employees


 

WHERE LastName LIKE ‘#LastName#%’


 

这个查询返回每个其名字以用户输入值开头的员工的信息。例如,若输入“Jon”,返回的记录可能有”Jones”和”Jonson”。

 
上一页 WanJuanShu.COM 下一页
WANJUANSHU.COM 万卷书