Stjärnor tänds när musen svävar
Det finns en briljant handledning på webben för att designa ett 5-stjärnigt betygssystem:http://rog.ie/blog/css-star-rater
. Det är rent CSS så inget behov av Javascripting.
Sidan behöver inte laddas om när en stjärna klickas (behövs egentligen inte)
Ajax är din vän, det jag gjorde var att ha en <a class="one_star" href="javascript: submitRating(1, 5)">
där <a>
representerade en stjärna och submitRating()
funktionen använde Ajax för att överföra mitt betyg (1/5) till servern, servern lagrar betyget (och tilldelar användaren som gav betyget) och räknar om det nya genomsnittliga betyget och skickar tillbaka resultaten i JSON-format.
Något slags medelvärde som visas bredvid stjärnorna
Lätt. Skriv ett SQL-skript som baserat på produkt-id:t tar summan av det genomsnittliga betyget (dvs. 1/5 + 2/5 + 4/5, etc), dividera det(summan) med det totala antalet betyg och multiplicera det med 100. Returnera värdet tillbaka till servern och från servern tillbaka till klienten.
Betyg måste lagras någonstans i en MySQL-databas (är detta en bra idé?)
Jag använder MySQL för detta och det fungerar som en charm...Alla DB-system är bra.