Ik ben bezig om een stuk in te bouwen waar gebruikers hun laatst bezochte producten terug kunnen zien. Hoe kan ik dit het beste aanpakken?

Ik zat te denken aan het verzamelen van productids in een sessie en die ids vervolgens te plaatsen in een query die de producten ophaalt. Het probleem is dat er een limiet op moet zitten, oftewel als een bezoeker 3 producten heeft bezocht en hij bezoekt een 4e dan vervalt dat product wat het langst geleden is bekeken (oftewel alleen de laatste 3 moeten alle tijden zichtbaar zijn).

Hoe kan ik de laatste waarden weggooien en een nieuwe waarde toevoegen aan die sessie?
ik zou de bekeken producten opslaan in een database:

- userid*
- productid
- tijdstip bekijken (datetime)

* ipv userid zou ook een session_id gebruikt kunnen worden of misschien een ipadres + useragent.

Je hebt dan namelijk niet alleen de data voor de nu beschreven functionaliteit, maar ook voor je eigen statistieken: deze persoon bekeek 25 producten voor hij product X (dat hij als 4e bekeek) bestelde.

Of mensen bekijken vaak 50 producten voor ze vertrekken / 40 voor ze bestellen.


En de laatste 3 zijn dan natuurlijk
SELECT *
FROM tabel
WHERE userid = 'me'
ORDER BY tijdstip DESC
LIMIT 3

Reageren