RE: [PHP-DB] wierd math problem
| From: | Matt Schroebel | Date: | Tue, 13 May 2003 18:48:08 +0000 |
| Subject: | RE: [PHP-DB] wierd math problem | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-27715@lists.php.net to get a copy of this message | ||
I don't see a
return $reduceBy;
in the function getDiscount
> -----Original Message-----
> From: mark hurty [mailto:hurty@mac.com]
> Sent: Tuesday, May 13, 2003 12:58 PM
> To: php-db@lists.php.net
> Subject: [PHP-DB] wierd math problem
>
>
> It could be that I was just up too late and I'm not seeing something
> really obvious, but I having a weird math problem. in my
> script I have
> a function which calculates a discount for the purchase of
> tickets to a
> chamber music festival. Here's the function which performs as
> expected:
>
> > // if the patron orders tickets for 4 main events
> > // he/she receives a 10% discount on those events
> >
> > function getDiscount()
> > {
> > $discResult = mysql_query ("select * from cart
> > inner join items
> > on cart.itemId = items.itemId
> > where cart.cookieId = '" . GetCartId() . "'
> > and items.itemDisc <> 'xx'
> > group by items.itemDisc");
> > $disCount = mysql_num_rows ( $discResult );
> >
> > if ($disCount >= 4) {
> >
> > $discPrices = mysql_query ("select * from cart
> > inner join items
> > on
> cart.itemId = items.itemId
> > where
> cart.cookieId = '" .
> > GetCartId() . "'
> > and
> items.itemDisc <> 'xx'");
> > while ($row =
> mysql_fetch_array($discPrices))
> > $reduceBy +=
> (($row["qty"] * $row["itemPrice"]) * 0.1);
> > echo number_format($reduceBy, 2);
> >
> > }
> >
> > else {
> > $reduceBy = 0;
> > echo number_format($reduceBy, 2);
> > }
> > }
>
> When I call the function on the page to show the discount, everything
> is ok:
>
> > Subscriber Discount: $<?php echo getDiscount(); ?>
>
> This displays "Subscriber Discount: $85.40"
>
> I have a variable ($totalCost) which tallies the non-discounted total
> cost for all the tickets purchased. ($totalCost += ($row["qty"] *
> $row["itemPrice"]);) which works fine. I call that variable
> on the page
> like this:
>
> > Order Subtotal: $<?php echo number_format(($totalCost), 2); ?>
>
> Which displays "Order Subtotal: $854.00"
>
> Now here's the part that is screwy. When I try and calculate the
> discounted total price, using this:
>
> > $myPrice = $totalCost-getDiscount();
> > echo ($myPrice);
>
> I get "8.54854" which is simply the result of the function
> getDiscount
> followed by the variable $totalCost.
> Of course I expected to get the result of the equation "854 - 85.40"
> or "768.60"
>
> What am I doing wrong?
>
> Mark
>
> --
> mark hurty | mark@hurty.com | 309.764.0911
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>