Solved

How to create a sub total and grand total?

Posted on 2008-06-22
7
793 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!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

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…
When crafting your “Why Us” page, there are a plethora of pitfalls to avoid. Follow these five tips, and you’ll be well on your way to creating an effective page.
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to choose which pages of your form are visible to your users based on their inputs. The page rules feature provides you with an opportunity to create if:then statements for y…

808 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