Stem Script
Peter O
29/03/2007 18:00:00Hey,
Ik ben al een tijdje bezig met het maken van een site (een database met films, waar users op kunnen stemmen enz).
Maar ik kom er niet uit hoe ik het beste de stemmen in de database kan opslaan.
Hier is een voorbeeld van de situatie (fictief).
Titels in de database 100.
User1 heeft op 50 titels gestemd (met een willekeurig cijfer tussen de 1 en 10).
User2 heeft op 75 titels gestemd (met een willekeurig cijfer tussen de 1 en 10).
enz.
bvd.
-peter
Ik ben al een tijdje bezig met het maken van een site (een database met films, waar users op kunnen stemmen enz).
Maar ik kom er niet uit hoe ik het beste de stemmen in de database kan opslaan.
Hier is een voorbeeld van de situatie (fictief).
Titels in de database 100.
User1 heeft op 50 titels gestemd (met een willekeurig cijfer tussen de 1 en 10).
User2 heeft op 75 titels gestemd (met een willekeurig cijfer tussen de 1 en 10).
enz.
bvd.
-peter
PHP hulp
16/11/2024 18:55:33Joren de Wit
29/03/2007 18:05:00Inventariseren welke gegevens je allemaal hebt, vervolgens gaan normaliseren en een datamodel opzetten. Zie ook verschillende tutorials over het normaliseren van een database.
Om alvast een opzetje te geven: allereerst heb je de gebruiker. Je hebt dus een tabel nodig waarin je zijn gegeven op kunt slaan. Vervolgens moet een gebruiker kunnen stemmen op meerdere films en moet er door meerdere gebruikers op een film gestemd kunnen worden. De volgende tabel die je nodig hebt is dus een tabel waarin je de films kunt opslaan. En de laatste tabel in dit geval is een tabel waarin je de stemmen (met bijvoorbeeld commentaar) opslaat. Dus in schema:
users
------
id
naam
film
-----
id
titel
votes
-------
id
user_id
film_id
vote
Vervolgens kun je met SELECT queries verschillende gegevens uit de database halen.
Om alvast een opzetje te geven: allereerst heb je de gebruiker. Je hebt dus een tabel nodig waarin je zijn gegeven op kunt slaan. Vervolgens moet een gebruiker kunnen stemmen op meerdere films en moet er door meerdere gebruikers op een film gestemd kunnen worden. De volgende tabel die je nodig hebt is dus een tabel waarin je de films kunt opslaan. En de laatste tabel in dit geval is een tabel waarin je de stemmen (met bijvoorbeeld commentaar) opslaat. Dus in schema:
users
------
id
naam
film
-----
id
titel
votes
-------
id
user_id
film_id
vote
Vervolgens kun je met SELECT queries verschillende gegevens uit de database halen.
Peter O
29/03/2007 18:09:00Ok dus in de tabel votes moet er voor elke user+stem een nieuwe row worden gemaakt?
hm ja als ik er zo over nadenk is het eigenlijk best simpel.. :-)
bedankt voor de hulp.
met vriendelijke groet,
Peter
hm ja als ik er zo over nadenk is het eigenlijk best simpel.. :-)
bedankt voor de hulp.
met vriendelijke groet,
Peter
Joren de Wit
29/03/2007 18:14:00Dat is verreweg het makkelijkste. Je kunt daarna met functie als bijvoorbeeld AVG() en COUNT() zeer eenvoudig respectievelijk het gemiddelde en het totaal aantal stemmen uitrekenen.