Ik ben bezig met een banner systeem. Ik heb een tabel met advertenties die random worden weergegeven (7 stuks). Elke weergave wordt getracked in een aparte tabel. Nu wil ik er voor zorgen dat iedereen een advertentie maar 3x mag zien.
Mijn tabellen:
ADVERTENTIE
id
titel
url
max_view (dit is dus 3 in dit voorbeeld)
startdatum
einddatum
TRACE
id
advertentie_id
sessie
Ik heb nu de volgende query:
SELECT * FROM `ADVERTENTIE` WHERE (`startdatum` < UNIX_TIMESTAMP() OR `startdatum` = 0) AND (`einddatum` > UNIX_TIMESTAMP() OR `einddatum` = 0) ORDER BY RAND() LIMIT 7
Maar ik heb geen idee hoe ik nu in deze query kan checken of het maximum aantal views al is behaald. Ik kan natuurlijk een SELECT COUNT(`id`) AS `tel` FROM `TRACE`, maar ik weet (aangezien het een RAND() betreft, natuurlijk nooit welke ad ik moet tellen...
Wie kan mij helpen?
Mijn tabellen:
ADVERTENTIE
id
titel
url
max_view (dit is dus 3 in dit voorbeeld)
startdatum
einddatum
TRACE
id
advertentie_id
sessie
Ik heb nu de volgende query:
SELECT * FROM `ADVERTENTIE` WHERE (`startdatum` < UNIX_TIMESTAMP() OR `startdatum` = 0) AND (`einddatum` > UNIX_TIMESTAMP() OR `einddatum` = 0) ORDER BY RAND() LIMIT 7
Maar ik heb geen idee hoe ik nu in deze query kan checken of het maximum aantal views al is behaald. Ik kan natuurlijk een SELECT COUNT(`id`) AS `tel` FROM `TRACE`, maar ik weet (aangezien het een RAND() betreft, natuurlijk nooit welke ad ik moet tellen...
Wie kan mij helpen?
Als ik een leuke signature bedenk, zijn jullie de eerste die het weten