Unieke hits

Status
Niet open voor verdere reacties.

sanma

Gebruiker
Lid geworden
11 dec 2008
Berichten
170
Hallo,

Ik heb momenteel een linkspel. Leden krijgen een unieke link die ze naar vrienden kunnen sturen. Wanneer hun klikken krijgen ze punten en worden er uit de database random een advertentie getoont via deze code:
$query = "SELECT * FROM tb_ads WHERE active=1 ORDER BY RAND() LIMIT 1";

Nu heb ik duizenden hits per dag en ongeveer 55 advertenties in mijn systeem. Helaas komt het vaak voor dat iemand dezelfde ads te zien krijgt. Is het mogelijk dat wanneer iemand advertentie1 bezoekt en weer de site opent dat hij ad2 te zien krijgt etc. Totdat hij ze allemaal heeft gehad en dan weer bij voor af aan begint.

Het hoeft niet perse in volgorde dus 1 en dan 10 en dan 35 is ook goed maar wel dat 1 pas weer getoond word als alle ads zijn geweest.

Alvast bedankt.
 
Dat kan best. Wat misschien het makkelijkst is, is de eerste keer dat een bezoeker (ik neem aan dat ze ingelogd zijn?) komt, je alle ads pakt, die shufflet in willekeurige volgorde, en ze opslaat in zijn COOKIE (alleen de id's! er past niet zoveel in)

Vervolgens pak je iedere keer als je een advertentie wilt tonen zijn COOKIE, kijkt of er nog wat in staat en zo ja, pop de eerste id eraf en toon die; haal hem weg uit de cookie.

Dan krijgt ie ze allemaal maar 1x te zien.

Je kunt het ook server side opslaan, maar dat is denk ik vooral nodeloze ruimte verspilling...
 
Dat kan best. Wat misschien het makkelijkst is, is de eerste keer dat een bezoeker (ik neem aan dat ze ingelogd zijn?) komt, je alle ads pakt, die shufflet in willekeurige volgorde, en ze opslaat in zijn COOKIE (alleen de id's! er past niet zoveel in)

Vervolgens pak je iedere keer als je een advertentie wilt tonen zijn COOKIE, kijkt of er nog wat in staat en zo ja, pop de eerste id eraf en toon die; haal hem weg uit de cookie.

Dan krijgt ie ze allemaal maar 1x te zien.

Je kunt het ook server side opslaan, maar dat is denk ik vooral nodeloze ruimte verspilling...

Dit zou in dit geval werken, maar ze zijn niet ingelogd iedereen kan klikken juist de niet leden kunnen mijn leden helpen aan punten
 
Dan kun je alsnog COOKIE gebruiken denk ik; die zijn zelfs nog makkelijker te loggen dan een server-side oplossing want dan moet je bij gaan houden wie wie is.
 
Bedankt voor je reactie ik ga dit eens testen waarna ik het zal inbouwen als het werkt.
 
Kan volgens mij veel makkelijker:

Je zet de inlognaam en een teller in een database.
Vervolgens vraag je die op en voer je een bewerking uit:
if (user==$user){$advertentie++; echo '<img src=avertentie'.$advertentie.'.jpg>';
update $advertentie where user=$user;}

Zoiets dus.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan