Pass the user's selection to a new page within an HTML anchor tag. When you do this:
When working with URL variables:
<A HREF="URL?URLVariable">LinkName</A>
To create a hyperlink list that allows users to select an employee to update, you would enter this code:
<A HREF="UpdateForm.cfm?Employee_id=18">Jeremy Allaire</A> <A HREF="UpdateForm.cfm?Employee_id=19">John Allaire</A> <A HREF="UpdateForm.cfm?Employee_id=20">Marcello Fabiano</A>
UpdateForm.cfm page appears in the browser when the user clicks on an employee name.To generate a hyperlink list so that users can select an employee to update, you enter this code on the listing page:
<CFQUERY NAME="GetEmployees" DATASOURCE="HRApp">
SELECT FirstName, LastName, Employee_ID
FROM Employees
</CFQUERY>
<CFOUTPUT QUERY="GetEmployees">
<A HREF="UpdateForm.cfm?Employee_ID=#GetEmployees.Employee_ID#">
#GetEmployees.FirstName# #GetEmployees.LastName#</A><BR>
</CFOUTPUT>
UpdateForm.cfm page appears in the browser when the user clicks on an employee name.This update form's query code retrieves database information by referencing the URL variable passed from the hyperlink listing page:
<CFQUERY NAME="GetEmployeeDetails" DATASOURCE="HRApp">
SELECT FirstName, LastName,
Department_ID, StartDate,
Salary, Contract
FROM Employees
WHERE Employee_ID = #URL.Employee_ID#
</CFQUERY>
This code prefills the employee first name field using the VALUE attribute and dataset values:
<INPUT TYPE="Text" NAME="FirstName" SIZE="20" MAXLENGTH="50" VALUE="<CFOUTPUT>#GetEmployeeDetails.FirstName#</CFOUTPUT>">
This code prefills the department select box using conditional logic statements inside the OPTION tag:
Department<BR>
<SELECT NAME="Department_ID">
<CFOUTPUT QUERY="GetDepartments">
<OPTION VALUE="#Department_ID#"
<CFIF GetEmployeeDetails.Department_ID IS
GetDepartments.Department_ID>
SELECTED
</CFIF>>
#Department_Name#
</OPTION>
</CFOUTPUT>
</SELECT>
This code prefills the contract checkbox using conditional logic inside the INPUT tag:
<INPUT TYPE="Checkbox" NAME="Contract" VALUE="Yes"
<CFIF GetEmployeeDetails.Contract IS "Yes">CHECKED
</CFIF>>Yes
| To build the hyperlink list to pass URL parameters: |
UpdateList.cfm. <H4>Employee Update Listing</H4>
<CFQUERY NAME="GetEmployees" DATASOURCE="HRExpress">
SELECT FirstName, LastName, Employee_ID
FROM Employees
</CFQUERY>
<H4>Select an Employee to Update</H4>
<CFOUTPUT QUERY="GetEmployees"> </CFOUTPUT>
<CFOUTPUT QUERY="GetEmployees">
<A HREF=>#GetEmployees.FirstName# #GetEmployees.LastName#</A>
</CFOUTPUT>
<A HREF="UpdateForm.cfm?Employee_ID= #GetEmployees.Employee_ID#">
Click here to see UpdateList.cfm's code.
Move on to the next procedure and create the update form.
| To create the update form: |
InsertForm.cfm in HomeSite.UpdateForm.cfm.<H4>Update Employee Form</H4>
UpdateList.cfm page: <CFQUERY NAME="GetEmployeeDetails" DATASOURCE="HRExpress">
SELECT FirstName, LastName,
Department_ID, StartDate, Salary,Contract
FROM Employees
WHERE Employee_ID=#URL.Employee_ID#
</CFQUERY >
UpdateAction.cfm: <FORM ACTION="UPDATEACTION.CFM" METHOD="POST">
UpdateForm.cfm:<INPUT TYPE="HIDDEN" NAME="Employee_ID" VALUE="<CFOUTPUT> #URL.Employee_ID# </CFOUTPUT>">
<INPUT TYPE="Submit" NAME="SubmitButton" VALUE="Update Employee">
Remain in the form and move on to the next procedure to prefill update form fields.
| To prefill update form fields: |
<INPUT TYPE="Text" NAME="FirstName" SIZE="20" MAXLENGTH="50" VALUE="<CFOUTPUT>#GetEmployeeDetails.FirstName# </CFOUTPUT>"> <INPUT TYPE="Text" NAME="LastName" SIZE="20" MAXLENGTH="50" VALUE="<CFOUTPUT>#GetEmployeeDetails.LastName# </CFOUTPUT>">
<SELECT NAME="Department_ID">
<CFOUTPUT QUERY="GetDepartments">
<OPTION VALUE="#Department_ID#"
<CFIF GetEmployeeDetails.Department_ID IS
GetDepartments.Department_ID>
SELECTED
</CFIF>>
#Department_Name#
</OPTION>
</CFOUTPUT>
</SELECT>
<INPUT TYPE="Text" NAME="StartDate" SIZE="16" MAXLENGTH="16" VALUE=" <CFOUTPUT>#GetEmployeeDetails.StartDate#</CFOUTPUT>"> <INPUT TYPE="Text" NAME="Salary" SIZE="10" MAXLENGTH="10" VALUE=" <CFOUTPUT>#GetEmployeeDetails.Salary#</CFOUTPUT>">
<INPUT TYPE="Checkbox" NAME="Contract" VALUE="Yes" <CFIF GetEmployeeDetails.Contract IS "Yes">CHECKED </CFIF>>
Click here to see UpdateForm.cfm's code.
Move on to the next procedure to create an update action page.