Here's my page.
As you can see, it only remembers and calculates the last set of the form. I've been doing this all day today and still can't figure it out. I don't know alot of PHP and I'm still learning. What's my best approach to make this work? I need an automatic way to calculate the forms.
Here's the PHP code I'm using:
PHP Code:
<?php require_once('../Connections/prophot.php'); ?>
<?php
$maxRows_callprices = 3;
$pageNum_callprices = 0;
if (isset($_GET['pageNum_callprices'])) {
$pageNum_callprices = $_GET['pageNum_callprices'];
}
$startRow_callprices = $pageNum_callprices * $maxRows_callprices;
mysql_select_db($database_prophot, $prophot);
$query_callprices = "SELECT * FROM prices";
$query_limit_callprices = sprintf("%s LIMIT %d, %d", $query_callprices, $startRow_callprices, $maxRows_callprices);
$callprices = mysql_query($query_limit_callprices, $prophot) or die(mysql_error());
$row_callprices = mysql_fetch_assoc($callprices);
if (isset($_GET['totalRows_callprices'])) {
$totalRows_callprices = $_GET['totalRows_callprices'];
} else {
$all_callprices = mysql_query($query_callprices);
$totalRows_callprices = mysql_num_rows($all_callprices);
}
$totalPages_callprices = ceil($totalRows_callprices/$maxRows_callprices)-1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form id="calculation" name="calculation" method="post" action="">
<table border="1" cellpadding="0" cellspacing="0">
<?php do { ?>
<tr>
<td><?php echo $row_callprices['size']; ?></td>
<td><?php echo $row_callprices['paper']; ?></td>
<td><input name="quantity" type="text" id="quantity" value="<?php echo $quantity; ?>" /></td>
<td>$<?php $unitprice = $row_callprices['price']; echo $unitprice; $subtotal = $quantity * $unitprice; ?></td>
</tr>
<?php } while ($row_callprices = mysql_fetch_assoc($callprices)); ?>
<tr>
<td colspan="4"><?php echo $subtotal; ?></td>
</tr>
</table>
<p>
<input name="price" type="submit" id="price" value="Update Price" />
</p>
</form>
</body>
</html>
<?php
mysql_free_result($callprices);
?>
My head's about to explode.
gre:
I made a different approach, but still ended up having the same problem. The last form is the only data remembered. Please help.
Edited the php code.
Yay me, I figured out a way to make them individual. Now I want to have a grand total function, but I keep getting the wrong answer. This is my new code:
PHP Code:
<?php require_once('../Connections/prophot.php'); ?>
<?php
$maxRows_callprices = 3;
$pageNum_callprices = 0;
if (isset($_GET['pageNum_callprices'])) {
$pageNum_callprices = $_GET['pageNum_callprices'];
}
$startRow_callprices = $pageNum_callprices * $maxRows_callprices;
mysql_select_db($database_prophot, $prophot);
$query_callprices = "SELECT * FROM prices";
$query_limit_callprices = sprintf("%s LIMIT %d, %d", $query_callprices, $startRow_callprices, $maxRows_callprices);
$callprices = mysql_query($query_limit_callprices, $prophot) or die(mysql_error());
$row_callprices = mysql_fetch_assoc($callprices);
if (isset($_GET['totalRows_callprices'])) {
$totalRows_callprices = $_GET['totalRows_callprices'];
} else {
$all_callprices = mysql_query($query_callprices);
$totalRows_callprices = mysql_num_rows($all_callprices);
}
$totalPages_callprices = ceil($totalRows_callprices/$maxRows_callprices)-1;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form id="calculation" name="calculation" method="post" action="">
<table border="1" cellpadding="0" cellspacing="0">
<?php do { ?>
<tr>
<?php
$number = $row_callprices['priceid'];
$quantity = $_POST["amount$number"];
?>
<td><?php echo $row_callprices['size']; ?></td>
<td><?php echo $row_callprices['paper']; ?></td>
<td><input name="amount<?php echo $row_callprices['priceid']; ?>" type="text" id="quantity" value="<?php echo $quantity; ?>" /></td>
<td>$
<?php
$unitprice = $row_callprices['price'];
echo $unitprice;
$subtotal = $quantity * $unitprice;
?></td>
<td>$
<?php echo $subtotal; ?></td>
</tr>
<?php } while ($row_callprices = mysql_fetch_assoc($callprices)); ?>
<tr>
<td colspan="5" align="right">
<?php
echo $grandtotal;
?>0
</td>
</tr>
</table>
<p>
<input name="price" type="submit" id="price" value="Update Price" />
</p>
</form>
</body>
</html>
<?php
mysql_free_result($callprices);
?>
I put a zero there so I can find it easier. The variable is $grandtotal, which means nothing now, because I took off the function. The function I used was:
PHP Code:
$grandtotal = $unitprice * $quantity + $subtotal;
But that always gave me the wrong answer.