5 Laatst bekeken producten
Ik ben bezig met een webshop. En ik wil graag dat je de 5 laatst bekeken producten onderaan kan zien.
Heeft iemand misschien een idee hoe ik dat kan doen.
Een voorbeeld is net als wehkamp, als je een product bekijkt zie je het onderaan staan.
Alvast bedankt,
Iria
Dan zul je dus bij moeten houden welke producten door welke gebruiker bekeken zijn. Aan de hand van die gegevens is het eenvoudig om te bepalen wat de laatste 5 producten zijn die door een gebruiker bekeken zijn...
Als een item bekeken wordt, voer je ongeveer zo'n query uit:
UPDATE tabel SET views = views+1, last_view = NOW() WHERE id = ...
En als laatste gebruik je een query om de laatse 5 bekeken items te tonen:
SELECT id FROM tabel ORDER BY last_view DESC LIMIT 5
Nog een vraagje als er nou bijvoorbeeld twee personen te gelijk op mijn site zijn en allebei producten bekijken, dan gaat het toch fout want je slaat alleen de datum de id op, maar niet wie het bekeken heeft?????
En als je voor de eerste keer op de site komt en je hebt nog niets bekeken, maar ik heb er een query staan dat het de laaste vijf producten moet laten zien, dan klopt het toch ook niet want diegene heeft dan nog geen een product gezien.
Terwijl er wel een query is om de laaste vijf producten te laten zie.
Alvast bedankt,
Iria
Als de gebruiker voor het eerste op de website is en dus nog geen producten heft bekeken zal die query ook geen resultaten terug geven en dus niks weergeven.
Neem in plaats daarvan gewoon een tabel waarin je, elke keer als een product bekeken wordt, het tijdstip, product en de gebruiker opslaat. Voor elke keer dat een gebruiker een product bekijkt, maak je dus een nieuw record aan in deze tabel.
Vervolgens kun je daarna wel met een eenvoudige SELECT query per gebruiker bepalen welke 5 producten hij het laatst bekeken heeft...
Dus inprincipe bij gergistreerde de id opslaan en bij nieuwelingen bijvoorbeeld de ip adres?????
In dit geval zal je een koppeltabel nodig hebben...
id (INT)
userid (INT)
produktid (INT)
tijd (DATETIME) (default: NOW() of CURRENT_TIMESTAMP zie handleiding)
Wanneer nu iemand iets bekijkt doe je dit zo:
INSERT INTO koppeltabel (userid,produktid) VALUES ( ... , ... )
Als een persoon nog niet 5 dingen heeft bekeken, dan zal die query gewoon minder dan 5 laatst bezochte items weergeven. Lijkt me niet zo'n groot probleem toch?
Voor alle snelle antwoorden
xxxxxx
iria