CF 数组的输出

Output of a CF Array

我有一个简单的 "cart",由用户针对 RFQ 更新。他们的数组工作正常并且附加工作良好。但是由于某种原因,我似乎无法将数据正确输出到 table 中。如果这算的话,我的循环计数器正在工作 :) 请查看下面的代码,然后是我尝试开始工作的输出我知道这很简单,我想多了。

谢谢

<cfif isDefined("url.Series")>
    <cfset arrayAppend( session.cart, {Series = URL.Series , Style = URL.Style , Ohm = URL.Ohm , Notes = URL.Notes} )>
</cfif>

<a href="cleararray.cfm">Clear Array</a><br />
<a href="Stylesearch.cfm">Style Search</a><br /><br />

<h1><b>DEBUG:</b></h1>
<!--- Display current contents of cart --->
<cfdump var="#session.cart#" label="Cart Items">
<br />

<!--- Display items in cart in Table format --->
<table class="tftable" border="1">
    <tr>
        <th>Series</th>
        <th>Style ID</th>
        <th>Exact &#8486;</th>
        <th>Description</th>
        <th>Notes</th>
        <th>Quantity</th>
        <th>Update</th>
        <th>Delete</th>
    </tr>
    <cfloop index="Series" from="1" to="#arraylen( session.cart )#">
        <tr>
        <td>#session.cart[Series]#</td>
        <td>#Style#</td>
        <td>#Ohm#</td>
        <td>Test Description</td>
        <td>#Notes#</td>
        <td>Test Quantity</td>
        <td>X</td>
        <td>^</td>
        </tr>
    </cfloop>
</table>

你只需要用 cfoutput 包装你的 cfloop。

<cfoutput>
<cfloop index="Series" from="1" to="#arraylen( session.cart )#">
    <tr>
    <td>#session.cart[Series]#</td>
    <td>#Style#</td>
    <td>#Ohm#</td>
    <td>Test Description</td>
    <td>#Notes#</td>
    <td>Test Quantity</td>
    <td>X</td>
    <td>^</td>
    </tr>
</cfloop>
</cfoutput>

就我个人而言,我也会将循环索引更改为不同于 'Series',因为稍后它可能会与购物车结构中的 Series 键混淆。

输出中的第一个单元格 session.cart[Series] 将是购物车中的第一个结构,而我认为您想要的是: session.cart[Series].Series.

这就是我将循环索引更改为 s 的原因,例如:

<cfoutput>
<cfloop index="s" from="1" to="#arrayLen( session.cart )#">
<cfset thisRow = session.cart[s] />
<tr>
<td>#thisRow.Series#</td>
<td>#thisRow.Style#</td>
<td>#thisRow.Ohm#</td>
<td>Test Description</td>
<td>#thisRow.Notes#</td>
<td>Test Quantity</td>
<td>X</td>
<td>^</td>
</tr>
</cfloop>
</cfoutput>

希望对您有所帮助。