*knip*
Inmiddels is het eerste probleem opgelost, nu het 2e probleem nog.
Bij het weergeven van de prijs haalt hij de prijs uit de database en doet deze keer het aantal. Nu is echter de prijs 12,85 en het aantal 1, dus hoort hij 12,85 te weergeven maar i.p.v dat is de outcome: 12.
Dit is het winkelmandje script:
PHP
<?php
// Kijk of er iets in de winkelmandje zit
if(empty($_SESSION['winkelmandje']))
{
echo '<p>Uw winkelmandje is momenteel leeg.</p>';
}
// Anders
else
{
echo '<div class="row">';
echo '<p class="small"><b>Aantal:</b></p>';
echo '<p class="small"><b>Art. nr.:</b></p>';
echo '<p class="big"><b>Product:</b></p>';
echo '<p class="small"><b>Actie:</b></p>';
echo '<p class="small"><b>Prijs:</b></p>';
echo '</div>';
// Exploden
$cart = explode('|', $_SESSION['winkelmandje']);
// Begin formulier
echo '<form action="Upd_winkelmandje.php" method="post">';
// Show winkelmandje
$i = 0;
foreach($cart as $products)
{
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(',', $products);
// Get product info
$sql = mysql_query("SELECT * FROM producten WHERE productnummer = '".intval($product[0])."'");
// Als query gelukt is
if($sql)
{
// Als er items zijn
if(mysql_num_rows($sql) > 0)
{
// Alle items echoën
$rec = mysql_fetch_assoc($sql);
$i++;
// Verborgen vars
echo '<input type="hidden" name="productnummer_'.$i.'" value="'.$product[0].'" />';
echo '<div class="row">';
// Aantal
echo '<p class="small">';
echo '<input type="text" style="margin-top: 1px; class="aantal_w" name="hoeveelheid_'.$i.'" value="'.$product[1].'" size="2" maxlength="2" onKeyPress="return submitenter(this,event)" />';
echo '</p>';
// Artikel nummer
echo '<p class="small">';
echo $product[0];
echo '</p>';
// titel
echo '<p class="big">';
echo $rec['productnaam'];
echo '</p>';
// Acties
echo '<p class="small">';
echo '<a href="javascript:removeItem('.$i.')">Del</a>';
echo '</p>';
// Prijs
echo '<p class="small">';
echo '€ '.$rec['prijs'] * $product[1];
echo '</p>';
echo '</div>';
}
// Anders
else
{
// Mysql error opvangen
echo 'Er is een fout opgetreden in de query. <br />';
echo mysql_error();
}
}
}
echo '</form>';
}
?>
Toon Meer
Dit is de add.php:
PHP
<?php
// CONTROLEREN OF ER EEN PRODUCT ID IS OPGEGEVEN EN OF HET EEN NUMMER IS
if(!isset($_POST['product_id']) || !is_numeric($_POST['product_id']))
{
exit('Er is geen product id meegezonden');
}
else
{
$product_id = $_POST['product_id'];
}
// CONTROLEREN OF ER EEN AANTAL IS OPGEGEVEN EN OF HET EEN NUMMER IS
if(!isset($_POST['aantal']) || !is_numeric($_POST['aantal']))
{
exit('Er is geen product id meegezonden');
}
else
{
$aantal = $_POST['aantal'];
}
// KIJKEN OF ER WAT IN DE WINKELMANDJE ZIT
if(empty($_SESSION['winkelmandje']))
{
// WINKELMANDJE SESSIE AANMAKEN
$_SESSION['winkelmandje'] = $product_id.','.$aantal;
}
// ANDERS
else
{
// WINKELMANDJE OPSPLITSEN
$cart = explode('|', $_SESSION['winkelmandje']);
// WINKELMANDJE INHOUD TELLEN
$count = count($cart);
// VAR OM TE CHECKEN BIJ HET TOEVOEGEN
$add = TRUE;
foreach($cart as $products)
{
// EXPLODEN
/*
$product[x] -->
x == 0 -> productnummer
x == 1 -> hoeveelheid
*/
$product = explode(',', $products);
// ALS DE PRODUCT AL IN DE WINKELMANDJE ZIT
if($product[0] == $product_id)
{
$product[1] = $product[1] + $aantal;
$add = FALSE; // NIET TOEVOEGEN
}
// WEER IN DE SESSIE PLAATSEN
$i++;
if($i == 1)
{
// IN DE SESSIE GOOIEN
$_SESSION['winkelmandje'] = $product[0].','.$product[1];
}
// ANDERS
else
{
// BIJ DE OUDE SESSIE PLAATSEN
$_SESSION['winkelmandje'] = $_SESSION['winkelmandje'].'|'.$product[0].','.$product[1];
}
}
// ALS ER TOEGEVOEGT MOET WORDEN
if($add)
{
$_SESSION['winkelmandje'] = $_SESSION['winkelmandje'].'|'.$product_id.','.$aantal;
}
}
// DOORSTUREN
header('Location: index.php?p=winkelmandje');
?>
Toon Meer
Weet iemand waar dit aan ligt?