![]() ![]() ![]() |
Structures are particularly useful for grouping together a set of variables under a single name. In the following example files, structures are used to collect information from a form, structure.cfm
, and submit that information to a custom tag at addemployee.cfm
.
These example files show how you can use a structure to pass information to a custom tag, named CF_ADDEMPLOYEE.
<!--- This example shows how to use the StructInsert function. It calls the CF_ADDEMPLOYEE custom tag, which uses the addemployee.cfm file. ---> <HTML> <HEAD> <TITLE>Add New Employees</TITLE> </HEAD> <BODY> <H1>Add New Employees</H1> <!--- Establish parms for first time through ---> <CFPARAM NAME="FORM.firstname" DEFAULT=""> <CFPARAM NAME="FORM.lastname" DEFAULT=""> <CFPARAM NAME="FORM.email" DEFAULT=""> <CFPARAM NAME="FORM.phone" DEFAULT=""> <CFPARAM NAME="FORM.department" DEFAULT=""> <!--- If all form fields are passed, create structure named employee and add values ---> <CFIF #FORM.FIRSTNAME# EQ ""> <P>Please fill out the form. <CFELSE> <CFOUTPUT> <CFSCRIPT> employee=StructNew(); StructInsert(employee, "firstname", "#FORM.firstname#"); StructInsert(employee, "lastname", "#FORM.lastname#"); StructInsert(employee, "email", "#FORM.email#"); StructInsert(employee, "phone", "#FORM.phone#"); StructInsert(employee, "department", "#FORM.department#"); </CFSCRIPT>
<P>First name is #StructFind(employee, "firstname")#</P><P>Last name is #StructFind(employee, "lastname")#</P> <P>EMail is #StructFind(employee, "email")#</P> <P>Phone is #StructFind(employee, "phone")#</P> <P>Department is #StructFind(employee, "department")#</P> </CFOUTPUT> <!--- Call the custom tag that adds employees ---> <CF_ADDEMPLOYEE EMPINFO="#employee#"> </CFIF> <HR> <FORM ACTION="structinsert.cfm" METHOD="Post"> <P>First Name: <INPUT NAME="firstname" TYPE="text" HSPACE="30" MAXLENGTH="30"> <P>Last Name: <INPUT NAME="lastname" TYPE="text" HSPACE="30" MAXLENGTH="30"> <P>EMail:
<INPUT NAME="email" TYPE="text" HSPACE="30" MAXLENGTH="30"> <P>Phone:
<INPUT NAME="phone" TYPE="text" HSPACE="20" MAXLENGTH="20"> <P>Department:
<INPUT NAME="department" TYPE="text" HSPACE="30" MAXLENGTH="30"> <P> <INPUT TYPE="Submit" VALUE="OK"> </FORM> </BODY> </HTML>
<P>This file is an example of a custom tag used
to add employees. Employee information is passed
through the employee structure (the EMPINFO attribute).
In UNIX, you must also add the Emp_ID.
<CFSWITCH EXPRESSION="#ThisTag.ExecutionMode#">
<CFCASE VALUE="start">
<CFIF StructIsEmpty(attributes.EMPINFO)>
<CFOUTPUT>Error. No employee data was passed.</CFOUTPUT>
<CFEXIT METHOD="ExitTag">
<CFELSE>
<!--- Add the employee --->
<!--- In UNIX, you must also add the Emp_ID --->
<CFQUERY NAME="AddEmployee" DATASOURCE="cfsnippets">
INSERT INTO Employees
(FirstName, LastName, Email, Phone, Department)
VALUES
<CFOUTPUT>
(
`#StructFind(attributes.EMPINFO, "firstname")#' ,
`#StructFind(attributes.EMPINFO, "lastname")#' ,
`#StructFind(attributes.EMPINFO, "email")#' ,
`#StructFind(attributes.EMPINFO, "phone")#' ,
`#StructFind(attributes.EMPINFO, "department")#'
)
</CFOUTPUT>
</CFQUERY>
</CFIF>
<CFOUTPUT><HR>Employee Add Complete</CFOUTPUT>
</CFCASE>
</CFSWITCH>
![]() ![]() ![]() |
AllaireDoc@allaire.com
Copyright © 1998, Allaire Corporation. All rights reserved.