Versio

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>&nbsp;</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>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
    <td colspan="4"><input type="submit" value="Ververs" /></td>
  </tr>
  </table>
  </form>
  <p>&bull; <a href="javascript:removeCart()">Winkelwagen leeghalen</a><br />
    &bull; <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.

« Lees de omschrijving en reacties

Inhoudsopgave
  1. Voorwoord
  2. Technisch ontwerp
  3. Etalage
  4. Producten toevoegen
  5. De winkelwagen
  6. Verwijderen items
  7. Winkelwagen updaten
  8. Afrekenen
  9. Nawoord
  • Gesponsorde koppelingen