Jag funderar på hur jag ska göra ett script där man kan betygsätta en bok/artikel(i detta fall en bok), man ska kunna välja 1-5 stjärnor, detta ska då läggas in i en databas, där sparas:
-ID (vanlig räknare)
-BokID (finns en annan tabell som har alla böcker redan)
-Rating (1-5, torde jag lägga numeriskt eller vanligt sträng?)
-UserID(för namnet på den som röstade)
Men hur gör jag då en kod som tar Rating från alla inlägg som har samma BokID(som kommer från en querystring) och går igenom alla och räknar ut en "average rating"?
Så och om en lägger 5 och en annan 1 då blir svaret 2.5
Det finns ju sånt på Amazon.com t.ex.
Men hur gör jag en sån kod?
Sen när du plockar ut datat med hjälp av BokId kan du väl antingen göra en count (el vad det heter) direkt isql-satsen eller addera ihop allt i en loop.
Detta delar du sedan med antalet poster.
Hur får jag jämmna nummer? Jag får resultat som 3.6777777 nu.
Funkar inte med min kod som jag använder för att visa resultatet i stjärnor.
Förresten, jag tycker det ser lite klumpigt ut, finns det nått bättre sätt?
<%If avg(0) = "1" THEN %>
<img src="images/onepoint.gif">
<%END IF%>
<%If avg(0) = "2" THEN %>
<img src="images/twopoint.gif">
<%END IF%>
<%If avg(0) = "3" THEN %>
<img src="images/threepoint.gif">
<%END IF%>
<%If avg(0) = "4" THEN %>
<img src="images/fourpoint.gif">
<%END IF%>
<%If avg(0) = "5" THEN %>
<img src="images/fivepoint.gif">
<%END IF%>
Döp dina bilder till 1.gif osv (eller 1point.gif) typ ock kör:
snitt = round(avg(o))
If snitt > 0 then
response.write "<img src=""images/" & snitt & ".gif"">"
End if
Ah, funkar fint, fast jag tror jag ska tillåta en decimal, kan det göra så att det rundar antingen till ett helt tal eller x.5?
Alltså, så här:
1
1.5
2
2.5
3
3.5
4
4.5
5