give en fil karakter

Tags:    php

hej!

Jeg vil lave det sådan, så at hver bruger kan give hver uploadet fil, en karakter mellem 1-10 og bagefter skal de så ikke kunne give dem karakter igen. Alle information såsom hvem der har givet karakter, hvor stor en karakter og hvilken fil, skal gemmes i en tabel i en database.

Nogen der har nogle ideer?



4 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
En tabel der kunne se sådan her ud

Fold kodeboks ind/udKode 


Hvor filename er navnet på filen, rating er den samlede værdi af stemmer (hvis en bruger giver den 10 og en anden bruger giver filen 7 er ratingen 17) og totalvotes er det totale antal stemmer.
Derefter kan du regne den gennemsnitlige karakter ud med $karakter = $row['rating'] div $row['totalvotes'].

Hver gang en ny fil uploades skal følgende oprettes i database

Fold kodeboks ind/udKode 


Når der så afgives en stemme skal følgende ske.

Fold kodeboks ind/udKode 


Håber det har givet dig en ide.




Indlæg senest redigeret d. 16.09.2006 11:30 af Bruger #3275
Hvad med at lave en row til et brugernavn, så når brugeren voter ligges det derínd så han ik kan stemme igen.



Du kan også lave endnu en tabel til votes:

Så du har tabellen til filer og "summeringer" som før - og endnu en tabel til afstemninger som følger:

Fold kodeboks ind/udKode 


og når du så vil opdatere med endnu en stemmer skriver du
Fold kodeboks ind/udKode 


Du kan også helt undlade at summere i "files" tabellen og tilføje et felt i "votes" som indeholder karakteren - bare laver en "live" opsummering af alle stemmerne ved at finde alle stemmer til den enkelte fil.

En sidste løsning ville være at lave en "REPLACE INTO" statement til "Votes" - og så have et unikt index på Fil_id og Brugernavn - så vil et nyt forsøg på at stemme bare overskrive det gamle. Det kræver at du fjerner de summerede værdier i "files" tabellen og tæller sammen hver gang.

Det blev lidt af en smøre - håber du kan bruge det til noget.



det ser ret super ud! :) men er der nogen måde at en bruger kun kan oprette én stemme?

Som det ser ud nu, kan en bruger jo stemme så mange gange han vil ik?



t