I'm pretty new to PHP, just followed a course and working on my final case to get a certificate. We're working on a webstore and I'm having trouble with updating my shopping cart. I know that this question has been asked before, but after reading through the answers, I can't fix my own code. I hope someone can help me with this. If there's 1 item in the cart, it updates well, with more items, just one 1 item will be updated. Here's my shopping cart code (it's been EDITED since first post to be more complete):
<FORM method=get name=cart_quantity
action=winkelwagen.php>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD>
<TABLE class=productListing border=0 cellSpacing=0
cellPadding=2 width="100%">
<TBODY>
<TR>
<TD class=infoBoxHeading3 align=middle>Verwijder</TD>
<TD class=infoBoxHeading3>Artikel(en)</TD>
<TD class=infoBoxHeading3 align=middle>Aantal</TD>
<TD class=infoBoxHeading3
align=right>Totaal </TD></TR>
<?php
$sqlWinkelwagen = "SELECT * FROM tblorder
INNER JOIN tblorderregels
INNER JOIN tblartikelen
WHERE tblorder.Ordernummer = tblorderregels.Ordernummer AND SessieID = '" . session_id() . "' AND tblorderregels.Artikelnummer = tblartikelen.Artikelnummer";
$rsWinkelwagen = mysqli_query($db, $sqlWinkelwagen);
$WinkelwagenRegel = 0;
while ($rWinkelwagen = mysqli_fetch_array($rsWinkelwagen))
{
?>
<TR class=productListing-even>
<TD class=productListing-data vAlign=top
align=middle><br><br>
<a href="winkelwagen.php?Artikelnummer=<?php echo($rWinkelwagen["Artikelnummer"]);?>&action=del"><img border="0" src="images/bin.png" width="30" height="30"></a>
<input type=hidden name=Artikelnummer value=<?php echo($rWinkelwagen["Artikelnummer"]);?>>
<TD class=productListing-data><BR>
<TABLE border=0 cellSpacing=2 cellPadding=2>
<TBODY>
<TD class=productListing-data align=middle><A
href="http://www.mijnoscommerce.nl/demo/shop1/product_info.php?products_id=35{1}1"><IMG
title=" iPhone 3G - 8GB " border=0
alt="iPhone 3G - 8GB"
src="images/<?php echo($rWinkelwagen["Afbeelding"]);?>" width=100
height=80></A></TD>
<TD class=productListing-data vAlign=top><BR><A
href="http://www.mijnoscommerce.nl/demo/shop1/product_info.php?products_id=35{1}1"><B>
<?php echo($rWinkelwagen["Artikelnaam"]); ?>
</B></A> </TD></TR></TBODY></TABLE></TD>
<TD class=productListing-data vAlign=top
align=middle><BR><BR><INPUT
type="text" value=<?php echo($rWinkelwagen["Aantal"]); ?> size=4
name=AantalArtikel[<?php echo($rWinkelwagen["Artikelnummer"]);?>]
>
<input type=hidden
name=ArtikelID[<?php echo($rWinkelwagen["Artikelnummer"]);?>]
value=<?php echo($rWinkelwagen["Artikelnummer"]);?>
>
<input type=hidden name=action value=upd></TD>
<TD class=productListing-data vAlign=top
align=right><BR><BR><B>Ä
<?php
$TotaalArtikel = $rWinkelwagen["Aantal"] * $rWinkelwagen["Prijs"];
echo($TotaalArtikel);
$TotaalWinkelwagen = $TotaalWinkelwagen + $TotaalArtikel;
?>
</B> </TD>
<?php
} //einde while winkelwagen inhoud
mysqli_free_result($rsWinkelwagen);
?>
</TBODY></TABLE></TD></TR>
<TR>
<TD><IMG border=0 alt=""
src="winkelwagen_files/pixel_trans.gif" width="100%"
height=10></TD></TR>
<TR>
<TD class=main align=right><B>Subtotaal: Ä <?php echo($TotaalWinkelwagen); ?>
</B> </TD></TR>
<TR>
<TD class=stockWarning align=middle><BR>Artikelen met een: ***
Zijn momenteel niet besckikbaar in de door u gevraagde
hoeveelheid.<BR>U kan de geselecteerde hoeveelheid wel laten
staan en bij het afrekenen zal de beschikbare hoeveelheid
getoond worden.</TD></TR>
<TR>
<TD><IMG border=0 alt=""
src="winkelwagen_files/pixel_trans.gif" width="100%"
height=10></TD></TR>
<TR>
<TD>
<TABLE class=infoBox2 border=0 cellSpacing=1 cellPadding=2
width="100%">
<TBODY>
<TR class=infoBoxContents>
<TD>
<TABLE border=0 cellSpacing=0 cellPadding=2 width="100%">
<TBODY>
<TR>
<TD width=10><IMG border=0 alt=""
src="winkelwagen_files/pixel_trans.gif" width=10
height=1></TD>
<TD class=main><INPUT title=" Update Winkelwagen "
border=0 alt="Update Winkelwagen"
src="winkelwagen_files/button_update_cart.gif"
type=image
></TD>
<TD class=main><A
href="index.php"><IMG
title=" Verder winkelen " border=0
alt="Verder winkelen"
src="winkelwagen_files/button_continue_shopping.gif"
width=129 height=16></A></TD>
<TD class=main align=right><A
href="betalingswijze.php"><IMG
title=" Afrekenen " border=0 alt=Afrekenen
src="winkelwagen_files/button_checkout.gif"
width=86 height=16></A></TD>
<TD width=10><IMG border=0 alt=""
src="winkelwagen_files/pixel_trans.gif" width=10
height=1></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM>
After applying the form it returns to the same page, on top with this code:
<?php
require_once 'config.php';
$db = mysqli_connect($strDatabaseServer, $strUsername, $strPassword, $strDatabase);
if(!$db)
die('Fout bij verbinden met database: ' . mysqli_connect_error());
$sql = "SELECT * FROM tblorder where SessieId = '" . session_id() . "'";
if(!$rs = mysqli_query($db, $sql))
die('Fout in query: ' . mysqli_error());
if (mysqli_num_rows($rs) > 0)
{
$r = mysqli_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"]; // bestaande ordernr
mysqli_free_result($rs);
}
//echo ($intOrdernummer);
if (isset($_GET["action"]))
{
switch ($_GET["action"])
{
case "del":
$strSQL = "delete from tblorderregels where Artikelnummer = '" . $_GET["Artikelnummer"] . "' AND Ordernummer = $intOrdernummer";
break;
case "upd":
foreach($_GET['ArtikelID'] as $key => $id){
$Artikelnummer = $id;
$aantal = $_GET['AantalArtikel'][$key];
//$sql2 = "update orders SET quantity = '$quantity' where item_id = '$item_id' ";
$strSQL = "update tblorderregels set Aantal = '" . $aantal . "' where Artikelnummer = '" . $Artikelnummer . "' AND Ordernummer = $intOrdernummer";
}
break;
}
$intGoed = mysqli_query($db, $strSQL);
if (!$intGoed)
die("Foutje in de SQL: " . $strSQL);
}
?>
I tried to make unique variables with GET, but somehow it isn't working I hope some one can help with this, thanks in advance!