Snatch Posted August 21, 2007 Share Posted August 21, 2007 Good Evening Gents! I'm having problems. When I add certain quantitys of products to my shopping basket they appear present and correct. However, when I get to the last stage of my checkout all the quantitys of products in the basket are changed to the same. eg: 2 x test 4 x test2 becomes: 4 x test 4 x test2 I've spent all day playing with it to no avail. It's frustraiting because once this is sorted my site should be finished - touch wood! Any suggestions would be gladfully recieved! checkout2.php The user is asked to confirm products here, the quantitys appear correct. <?php $sessid = session_id(); $query = "SELECT * FROM baskettemp WHERE sess = '$sessid'"; $results = mysql_query($query) or die (mysql_query()); while ($row = mysql_fetch_array($results)) { extract ($row); $prod = "SELECT * FROM products WHERE id = '$prodnum'"; $prod2 = mysql_query($prod); $prod3 = mysql_fetch_array($prod2); extract ($prod3); echo "<td>"; echo $quan; echo "</td>"; echo "<td>"; echo $type; echo "</td>"; echo "<td>"; echo $name; echo "</td>"; echo "<td align='right'>"; echo $price; echo "</td>"; echo "<td align='right'>"; //get extended price $extprice = $price * $quan; echo number_format($extprice, 2); echo "</td>"; echo "<td>"; echo "</td>"; echo "<td>"; echo "<a href='basket.php'>Make Changes to basket</a>"; echo "</td>"; echo "</tr>"; //add extended price to total $total = $extprice + $total; } ?> checkout3.php This is the receipt. The quantitys appear all the same... <?php //3) Insert Info into orderdet //find the correct basket information being temporarily stored $query = "SELECT * from baskettemp WHERE sess='$sessid'"; $results = mysql_query($query) or (mysql_error()); //put the data into the database one row at a time while ($row = mysql_fetch_array($results)) { extract ($row); $query4 = "INSERT INTO orderdet (ordernum, qty, prodnum) VALUES ( '$orderid', '$quan', '$prodnum')"; $insert4 = mysql_query($query4) or (mysql_error()); } ?> <?php $query = "SELECT * from orderdet WHERE ordernum = '$orderid'"; $results = mysql_query($query) or die (mysql_query()); while ($row = mysql_fetch_array($results)) { extract ($row); $prod = "SELECT * FROM products WHERE id = '$prodnum'"; $prod2 = mysql_query($prod); $prod3 = mysql_fetch_array($prod2); extract ($prod3); echo "<tr>"; echo "<td>"; echo $quan; echo "</td>"; echo "<td>"; echo $type; echo "</td>"; echo "<td>"; echo $name; echo "</td>"; echo "<td>"; echo $quote_no; echo "</td>"; echo "<td>"; echo $price; echo "</td>"; echo "<td>"; //get extended price $extprice = $price * $quan; echo number_format($extprice, 2); echo "</td>"; } ?> Link to comment https://forums.phpfreaks.com/topic/66059-quantity-crazy/ Share on other sites More sharing options...
Fadion Posted August 22, 2007 Share Posted August 22, 2007 U must call session_start() before using session_id(). Anyway even that works without session_start(), in checkout3.php u are making the query WHERE sess='$sessId' but i can see $sessId being initialized only in the first code. The code looks ok from my quick look, but if those arent the problems ill take another patient look. Also one thing, u dont have to use extract all the time. In the following code: extract ($row); $prod = "SELECT * FROM products WHERE id = '$prodnum'"; instead u can just use: $prod = "SELECT * FROM products WHERE id = '{$row['prodnum']}'"; Link to comment https://forums.phpfreaks.com/topic/66059-quantity-crazy/#findComment-330474 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.