Red Blaze
03-20-2006, 08:49 PM
Here's my page. (http://www.pro-photos.com/order/filter_test.php)
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 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. :ogre:
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 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:
$grandtotal = $unitprice * $quantity + $subtotal;
But that always gave me the wrong answer.
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 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. :ogre:
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 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:
$grandtotal = $unitprice * $quantity + $subtotal;
But that always gave me the wrong answer.