De winkelwagen
Ook dit is een belangrijke pagina. Hier laat je zien wat er in de winkelwagen zit; en belangrijker, je laat zien wat alles bij elkaar kost.
Deze winkelwagen is heel simpel. In mijn eigen systeem heb ik diverse BTW-tarieven toegepast, kan een product verschillende groottes en verschillende motieven (servies) bevatten. Dus dat is even iets meer werk.
Wat is er nog meer?
- een stukje code om 1 product te verwijderen
- een code om de hele winkelwagen leeg te halen
- mogelijkheid om meerdere producten tegelijk te updaten
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
// cart.php
session_start();
// Kijk of er iets in de winkelwagen zit
if (empty($_SESSION['cart'])) {
echo "<p>Mooi verhaal! Er zit niets in je winkelwagen!</p>\n";
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen inhoud winkelwagen
$count = count($cart);
if ($count == 1) {
echo "<p>Er staat 1 product in je winkelwagen.</p>\n";
} else {
echo "<p>Er staan ".$count." producten in je winkelwagen</p>\n";
} // Ach, gewoon leuke mededeling
// Wat javascriptjes voor het weghalen van producten
// En daarna het begin van een tabel met de inhoud
?>
<script type="text/javascript">
<!--
function removeItem(item) {
var answer = confirm ('Weet je zeker dat je dit product wilt verwijderen?')
if (answer)
window.location="delete_cart_item.php?item=" + item;
}
function removeCart() {
var answer = confirm ('Weet je zeker dat je de winkelwagen wilt leeghalen?')
if (answer)
window.location="delete_cart.php";
}
//-->
</script>
<form method="post" name="form" action="update_cart.php">
<table>
<tr>
<td>Productnummer</td>
<td>Productnaam</td>
<td>Hoeveelheid</td>
<td>Prijs p/s</td>
<td>Totaal</td>
<td> </td>
</tr>
<?php
// Totaal (komt later wel terug)
$total = 0;
// Show cart
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
// Get product info
$sql = "SELECT productnaam, prijs
FROM product
WHERE productnummer = ".$product[0]; // Weet je nog, uit die sessie
$query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__);
$pro_cart = mysql_fetch_object($query);
$i++;
echo "<tr>\n";
echo " <td>".$pro_cart->productnummer."</td>\n"; // nummer
echo " <td>".$pro_cart->productnaam."</td>\n"; // naam
echo " <td><input type=\"hidden\" name=\"productnummer_".$i."\" value=\"".$product[0]."\" />\n"; // wat onzichtbare vars voor het updaten
echo " <input type=\"text\" name=\"hoeveelheid_".$i."\" value=\"".$product[1]."\" size=\"2\" maxlength=\"2\" /></td>\n";
echo " <td>".$pro_cart->prijs."</td>\n";
$lineprice = $product[1] * $price; // regelprijs uitrekenen > hoeveelheid * prijs
echo " <td>".$lineprice."</td>\n";
echo " <td><a href=\"javascript:removeItem(".$i.")\">X</td>\n"; // Verwijder, mooi plaatje van prullebak ofzo
echo "</tr>\n";
// Total
$total = $total + $lineprice; // Totaal updaten
}
?>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $total; ?></td>
<td> </td>
</tr>
<tr>
<td colspan="2"> </td>
<td colspan="4"><input type="submit" value="Ververs" /></td>
</tr>
</table>
</form>
<p>• <a href="javascript:removeCart()">Winkelwagen leeghalen</a><br />
• <a href="checkout.php">Afrekenen</a></p>
<?php
}
?>
// cart.php
session_start();
// Kijk of er iets in de winkelwagen zit
if (empty($_SESSION['cart'])) {
echo "<p>Mooi verhaal! Er zit niets in je winkelwagen!</p>\n";
} else {
// Exploden
$cart = explode("|",$_SESSION['cart']);
// Tellen inhoud winkelwagen
$count = count($cart);
if ($count == 1) {
echo "<p>Er staat 1 product in je winkelwagen.</p>\n";
} else {
echo "<p>Er staan ".$count." producten in je winkelwagen</p>\n";
} // Ach, gewoon leuke mededeling
// Wat javascriptjes voor het weghalen van producten
// En daarna het begin van een tabel met de inhoud
?>
<script type="text/javascript">
<!--
function removeItem(item) {
var answer = confirm ('Weet je zeker dat je dit product wilt verwijderen?')
if (answer)
window.location="delete_cart_item.php?item=" + item;
}
function removeCart() {
var answer = confirm ('Weet je zeker dat je de winkelwagen wilt leeghalen?')
if (answer)
window.location="delete_cart.php";
}
//-->
</script>
<form method="post" name="form" action="update_cart.php">
<table>
<tr>
<td>Productnummer</td>
<td>Productnaam</td>
<td>Hoeveelheid</td>
<td>Prijs p/s</td>
<td>Totaal</td>
<td> </td>
</tr>
<?php
// Totaal (komt later wel terug)
$total = 0;
// Show cart
foreach($cart as $products) {
// Split
/*
$product[x] -->
x == 0 -> product id
x == 1 -> hoeveelheid
*/
$product = explode(",",$products);
// Get product info
$sql = "SELECT productnaam, prijs
FROM product
WHERE productnummer = ".$product[0]; // Weet je nog, uit die sessie
$query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__);
$pro_cart = mysql_fetch_object($query);
$i++;
echo "<tr>\n";
echo " <td>".$pro_cart->productnummer."</td>\n"; // nummer
echo " <td>".$pro_cart->productnaam."</td>\n"; // naam
echo " <td><input type=\"hidden\" name=\"productnummer_".$i."\" value=\"".$product[0]."\" />\n"; // wat onzichtbare vars voor het updaten
echo " <input type=\"text\" name=\"hoeveelheid_".$i."\" value=\"".$product[1]."\" size=\"2\" maxlength=\"2\" /></td>\n";
echo " <td>".$pro_cart->prijs."</td>\n";
$lineprice = $product[1] * $price; // regelprijs uitrekenen > hoeveelheid * prijs
echo " <td>".$lineprice."</td>\n";
echo " <td><a href=\"javascript:removeItem(".$i.")\">X</td>\n"; // Verwijder, mooi plaatje van prullebak ofzo
echo "</tr>\n";
// Total
$total = $total + $lineprice; // Totaal updaten
}
?>
<tr>
<td colspan="4">Totaal</td>
<td><?php echo $total; ?></td>
<td> </td>
</tr>
<tr>
<td colspan="2"> </td>
<td colspan="4"><input type="submit" value="Ververs" /></td>
</tr>
</table>
</form>
<p>• <a href="javascript:removeCart()">Winkelwagen leeghalen</a><br />
• <a href="checkout.php">Afrekenen</a></p>
<?php
}
?>
Ik weet het, het is een flinke lap, maar het meeste spreekt voor zichzelf. Nu wijst de winkelwagen naar veel andere pagina's. Die gaan we stuk voor stuk doen. Eerst het verwijderen.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Voorwoord
- Technisch ontwerp
- Etalage
- Producten toevoegen
- De winkelwagen
- Verwijderen items
- Winkelwagen updaten
- Afrekenen
- Nawoord
- PHP tutorials opties
- Nieuwste PHP tutorials
- PHP tutorial toevoegen
- Gesponsorde koppelingen

