<cfif i mod 2 EQ 0>
<cfset Color = "white">
<cfelse>
<cfset Color = "gray">
</cfif>
<tr bgcolor="#color#">
<td>
hello #i#
</td>
</tr>
</cfloop>
</table>
</cfoutput>
Example: a dynamic shopping cart
The following example dynamically creates and manipulates variable names without using
dynamic expression evaluation by using associative array notation.
You need to dynamically generate variable names in applications such as shopping carts, where
the required output is dynamically generated and variable. In a shopping cart, you do not know in
advance the number of cart entries or their contents. Also, because you are using a form, the
action page only receives Form variables with the names and values of the form fields.
The following example shows the shopping cart contents and lets you edit your order and submit
it. To simplify things, the example automatically generates the shopping cart contents using
CFScript instead of having the user fill the cart. A more complete example would populate a
shopping cart as the user selected items. Similarly, the example omits all business logic for
committing and making the order.
To create the form:
Create a file in your editor.
1
<html>
<head>
<title>Shopping Cart</title>
</head>
<cfscript>
CartItems=4;
Cart = ArrayNew(1);
for ( i=1; i LE cartItems; i=i+1)
{
Cart[i]=StructNew();
Cart[i].ID=i;
Cart[i].Name="Product " & i;
Cart[i].SKU=i*100+(2*i*10)+(3*i);
Cart[i].Qty=3*i-2;
}
</cfscript>
<body>
Your shopping cart has the following items.<br>
You can change your order quantities.<br>
If you don't want any item, clear the item's check box.<br>
When you are ready to order, click submit.<br>
<br>
<cfform name="ShoppingCart" action="ShoppingCartAction.cfm" method="post">
<table>
<tr>
Dynamic expressions and dynamic variables
99
Need help?
Do you have a question about the COLDFUSION MX 61-DEVELOPING COLDFUSION MX and is the answer not in the manual?
Questions and answers