Re: help with adding

From: Date: Fri, 25 Feb 2005 21:04:38 +0000
Subject: Re: help with adding
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-209504@lists.php.net to get a copy of this message
I have messed with this for a couple of days and cant get it right. Maybe I need sleep :-) The code below is echoing the qty correctly (10, 5, 25) for ($i = 1; $i <= $sendnum; $i++) {
            $qty = $_POST['qty'.$i];
            echo $qty . '<br />';
} The question is, how would I take add each of these numbers (10+5+25)? Jay,
Maybe I'm missing something here but wouldn't this do the trick? /////////////// $total = 0; for ($i = 1; $i <= $sendnum; $i++) { $qty = $_POST['qty'.$i]; echo $qty . '<br />'; $total += $qty; } echo "Total = {$total}<br>"; /////////////// I have a suggestion related to how you are naming elements in your form. Based on the way you are accessing elements in your $_POST array it looks like your form is setup something like this: <input name="qty1"> <input name="qty2"> ... <input name="qty99"> The problem is that when the form is posted you have no way to easily loop over all the "qty" elements. In your example you are using a for() loop with $sendnum which is a value you had to figure out one way or another. An easier solution might be to do something like this: <input name="qty[1]"> <input name="qty[2]"> .. <input name="qty[99]"> and then in your PHP code you can easily loop over the values like this: /////////////// $total = 0; foreach($_POST['qty'] as $key => $value) { echo "The quantity for {$key} is {$value}<br>"; $total += $value; } echo "Total = {$total}<br>"; /////////////// Actually, now that all your values are now in an array you could remove the $total calculation from the loop and calculate it by doing this: $total = array_sum($_POST['qty']); Try using arrays in your forms instead of sticking numbers onto the end of your variable names and I think you'll find things getting much easier for you. - Jamie

« previous php.general (#209504) next »