Solved

How to create a sub total and grand total?

Posted on 2008-06-22
7
792 Views
Last Modified: 2008-06-23
Ive created a ver simple shopping cart (see below), i wanting to add a sub total on each line of the looping table then a grand total in the last table cell which sits outside of the loop. how can i do this please?

sorry about posting so much code but i though it was best for you to see it all.
<th>Your Shopping Cart</th>
  <th>Value each</th>
  <th>Colour</th>
  <th>Size</th>
  <th>Qty</th>
  <th>Subtotal</th>
</tr>
<cfloop query="getCart">
  <tr>
    <td>
   	#getCart.item_name#    </td> 
    <td>#getCart.amount#</td>
    <td>#getCart.on0#</td>
    <td>#getCart.on1#</td>
    <td>
      <input type="hidden" name="item_number" value="#getCart.item_number#" />
      <input type="text" size="3" name="quant_#getCart.item_number#" 
           value="#getCart.Quantity#" /></td>
    <td></td>
  </tr>
 
 
</cfloop>
<tr>
    <td colspan="4">&nbsp;</td>
    <th>Total:</th>
    <td></td>
  </tr>
</table>
<input type="hidden" name="doaction" value="updateCart" />
<input type="submit" name="submit" value="Update Quantities">
</form>
 
 
 
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="submit" name="submit" value="Check Out">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="ecoLife.me.uk" value="sales@ecolife.me.uk">
<cfloop query="getCart">
<input type="hidden" name="item_name_#getCart.currentrow#" value="#getCart.item_name#">
<input type="hidden" name="item_number_#getCart.currentrow#" value="#getCart.item_number#">
<input type="hidden" name="quantity_#getCart.currentrow#" value="#getCart.quantity#">
<input type="hidden" name="amount_#getCart.currentrow#" value="#getCart.amount#">
<input type="hidden" name="handling_#getCart.currentrow#" value="#getCart.handling#">
<input type="hidden" name="shipping_#getCart.currentrow#" value="#getCart.shipping#">
<input type="hidden" name="shipping2_#getCart.currentrow#" value="#getCart.shipping2#">
<input type="hidden" name="on0_#getCart.currentrow#" value="#getCart.on0#">
<input type="hidden" name="os0_#getCart.currentrow#" value="#getCart.os0#">
<input type="hidden" name="on1_#getCart.currentrow#" value="#getCart.on1#">
<input type="hidden" name="os1_#getCart.currentrow#" value="#getCart.os1#">
</cfloop>
<input type="hidden" name="page_style" value="PayPal">
<input type="hidden" name="return" value="http://#cgi.server_name##request.path#?doaction=completeCart">
<input type="hidden" name="cancel_return" value="http://#cgi.server_name##request.path#?doaction=cancelCart">
<input type="hidden" name="cn" value="Comments">
<input type="hidden" name="currency_code" value="GBP">
</form>

Open in new window

0
Comment
Question by:bede123
  • 4
  • 3
7 Comments
 
LVL 63

Accepted Solution

by:
Zvonko earned 500 total points
ID: 21841987
Like this:
<cfset grandTotal = 0 >
 
<th>Your Shopping Cart</th>
  <th>Value each</th>
  <th>Colour</th>
  <th>Size</th>
  <th>Qty</th>
  <th>Subtotal</th>
</tr>
<cfloop query="getCart">
  <tr>
    <td>
   	#getCart.item_name#    </td> 
    <td>#getCart.amount#</td>
    <td>#getCart.on0#</td>
    <td>#getCart.on1#</td>
    <td>
      <input type="hidden" name="item_number" value="#getCart.item_number#" />
      <input type="text" size="3" name="quant_#getCart.item_number#" 
           value="#getCart.Quantity#" /></td>
    <cfset itemTotal = getCart.amount * getCart.Quantity >
    <cfset grandTotal = grandTotal + itemTotal >
    <td align="right">#NumberFormat(itemTotal,"0.99")#</td>
  </tr>
 
 
</cfloop>
<tr>
    <td colspan="4">&nbsp;</td>
    <th>Total:</th>
    <td align="right">#NumberFormat(grandTotal,"0.99")#</td>  </tr>
</table>
<input type="hidden" name="doaction" value="updateCart" />
<input type="submit" name="submit" value="Update Quantities">
</form>

Open in new window

0
 
LVL 1

Author Comment

by:bede123
ID: 21845357
thats great thanks, so how would i chnage the format to '£' ?

thanks for your wuick response.

zac
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21846692
Can you show me how the £ format would look for example for: 123.45

0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 1

Author Comment

by:bede123
ID: 21846841
it would just look like:

123.45 would be £123.45
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21846879
Check this:

<td align="right">£#NumberFormat(grandTotal,"0.99")#</td>  </tr>
0
 
LVL 1

Author Comment

by:bede123
ID: 21846911
ok so just as simple as that! perhaps i was tryign to make it to completcated, thanks again
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21847006
:)
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Select case on click 3 16
ASP server side get value 15 24
need to fire confirm() popup window in IE using VBA 2 19
Can't get second accordion on page to work 2 7
This is a PowerShell web interface I use to manage some task as a network administrator. Clicking an action button on the left frame will display a form in the middle frame to input some data in textboxes, process this data in PowerShell and display…
This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
In this tutorial viewers will learn how to embed Flash content in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <object> tag to embed Flash content.: To specify that the object is Flash content, d…
This video teaches users how to migrate an existing Wordpress website to a new domain.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question