winkelwagen script
Ik ben op het moment druk bezig om een webwinkel proberen te maken.
Nu heb ik een bestaand script van een winkelwagen maar die voldoet nog niet aan mijn wensen.
Het moet een script zijn waarbij je elk artikel maar 1 keer kunt toevoegen.
Het voorbeeld hieronder laat de gebruiker toe het zelfde artikel meerdere keren te bestellen hoe krijg ik dat er op de goede manier uit?
Bvd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
// Toevoegen
if( isset( $_POST['ADD'] ) && ereg('^[1-9][0-9]*$', $_POST['aantal'])) {
$_SESSION['winkelwagen'][$_POST['artikelid']] = $_POST['aantal'];
}
// Verwijderen
if( isset( $_GET['DEL'] ) ) {
unset($_SESSION['winkelwagen'][$_GET['DEL']]);
}
// Laat lijst zien
if( $_SESSION['winkelwagen'] ) {
$totaal = 0;
echo "<p><div class=\"big\">De Winkelwagen</div><br>";
echo "<table border=2 cellpadding=0 cellspacing=0>";
echo "<tr><td><b>Aantal</b></td><td><b>Naam</b></td><td><b>Prijs in €</b></td><td>Bewerken</td></tr>"; // bovenste regel
foreach ( $_SESSION['winkelwagen'] as $key=>$val ) {
$sql = "SELECT * FROM Artikel WHERE ARTIKEL_ID=$key";
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr>";
echo "<td>$val</td>";
echo "<td>".$rij["Naam"]."</td>";
echo "<td>".number_format($rij["Prijs"], 2, ',', ' ')."</td>";
echo "<td><a href=\"$PHP_SELF?DEL=$key\">[Verwijder]</a>";
echo "</tr>";
$totaal = $totaal + ($rij["Prijs"] * $val);
}
}
echo "</table>";
echo "<p>Totaalbedrag: € ".number_format($totaal, 2, ',', ' ')."<br>";
echo ">> <a href=\"bestelling.php\" onClick=\"return Confirm(0)\">[Bestelling uitvoeren]</a>";
} else {
echo "De winkelwagen is momenteel leeg...";
}
if ($_GET["artikelid"]) {
$sql = "SELECT * FROM Artikel WHERE ARTIKEL_ID=".$_GET["artikelid"];
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
$naam = mysql_result($result, 0, "Naam");
$prijs = number_format(mysql_result($result, 0, "Prijs"), 2, ',', ' ');
echo "<p><div class=\"big\">Artikel toevoegen aan winkelwagen</div>";
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "<input type=\"hidden\" name=\"artikelid\" value=\"$artikelid\">";
echo "<input type=\"text\" name=\"aantal\" value=\"1\" size=\"2\" maxlength=2>";
echo " x Artikel: $naam (prijs: $prijs euro)";
echo "<input type=\"submit\" name=\"ADD\" value=\"Toevoegen\">";
echo "</form>";
}
}
?>
// Toevoegen
if( isset( $_POST['ADD'] ) && ereg('^[1-9][0-9]*$', $_POST['aantal'])) {
$_SESSION['winkelwagen'][$_POST['artikelid']] = $_POST['aantal'];
}
// Verwijderen
if( isset( $_GET['DEL'] ) ) {
unset($_SESSION['winkelwagen'][$_GET['DEL']]);
}
// Laat lijst zien
if( $_SESSION['winkelwagen'] ) {
$totaal = 0;
echo "<p><div class=\"big\">De Winkelwagen</div><br>";
echo "<table border=2 cellpadding=0 cellspacing=0>";
echo "<tr><td><b>Aantal</b></td><td><b>Naam</b></td><td><b>Prijs in €</b></td><td>Bewerken</td></tr>"; // bovenste regel
foreach ( $_SESSION['winkelwagen'] as $key=>$val ) {
$sql = "SELECT * FROM Artikel WHERE ARTIKEL_ID=$key";
$resultaat = mysql_query($sql);
while ($rij = mysql_fetch_array($resultaat)) {
echo "<tr>";
echo "<td>$val</td>";
echo "<td>".$rij["Naam"]."</td>";
echo "<td>".number_format($rij["Prijs"], 2, ',', ' ')."</td>";
echo "<td><a href=\"$PHP_SELF?DEL=$key\">[Verwijder]</a>";
echo "</tr>";
$totaal = $totaal + ($rij["Prijs"] * $val);
}
}
echo "</table>";
echo "<p>Totaalbedrag: € ".number_format($totaal, 2, ',', ' ')."<br>";
echo ">> <a href=\"bestelling.php\" onClick=\"return Confirm(0)\">[Bestelling uitvoeren]</a>";
} else {
echo "De winkelwagen is momenteel leeg...";
}
if ($_GET["artikelid"]) {
$sql = "SELECT * FROM Artikel WHERE ARTIKEL_ID=".$_GET["artikelid"];
$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
$naam = mysql_result($result, 0, "Naam");
$prijs = number_format(mysql_result($result, 0, "Prijs"), 2, ',', ' ');
echo "<p><div class=\"big\">Artikel toevoegen aan winkelwagen</div>";
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "<input type=\"hidden\" name=\"artikelid\" value=\"$artikelid\">";
echo "<input type=\"text\" name=\"aantal\" value=\"1\" size=\"2\" maxlength=2>";
echo " x Artikel: $naam (prijs: $prijs euro)";
echo "<input type=\"submit\" name=\"ADD\" value=\"Toevoegen\">";
echo "</form>";
}
}
?>
Bedoel je meerdere keren bestellen of een aantal groter dan 1 bestellen?
Ja een aantal groter dan 1 mag niet dus dat invoer veld moet ehm ja veranderen in een knopje om het item te verwijderen of zo iets.