webForumDet fria alternativet

Visa procenten med 7 stjärnor?

ASP

6 svar · 359 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Det är så att jag att jag fått låna ett betyg sättnings script (javaScript) där man kan betyg sätta musik genom att välja antalet tummar upp där max betyget är 7 tummar upp av sju möjliga. Problemet är att jag inte är någon höjdare när det gäller procent och skulle behöva lite hjälp med att få fram korrekt snitt betyg.

Man kan rösta tummar upp på följande:

* Hitfaktor.
* Utförande.
* Sound.

När man sätter betyg på dom 3 kategorerna så ändras snittbetyget automatiskt till snittet ur ovanstånde kategorier, också detta mellan 1 och 7 tummar upp.

Värderna som man får ut ur betygen (tummar upp):
tumme / värde
1 = 14
2 = 29
3 = 43
4 = 57
5 = 71
6 = 86
7 = 100

Någon som har något förslag hur jag ska spara in dom i databasen?
Alltså ska jag uppdatera värdet på raden där låten ligger eller ska jag spara in det i en annan tabell och lägga till en rad för varje röst?

Vilket blir lättast och kräver minst resurser när jag sedan ska hämta ut värderna på musik sidan där låten presenteras och framför allt hur gör jag för att få fram betyget i stjärnor dvs 1 till 7?

Medlem sedan nov. 20031 018 inlägg
#2

det går alltså inte att lösa?

Medlem sedan nov. 20017 144 inlägg
#3

Jag gör så här att när jag skickar in min röst så ger 1:två, 2:fyra, 3:sex poäng upp till 5.
Summan av alla poäng läggs i kolumen summa_röster som sedan delas med antalet röster.
Vidare så har jag tio bilder men namnen vote_1, vote_2, vote_3 osv.

Dim voteresult
voteresult = round(arrRecSet("summa_röster")/arrRecSet("antal_röster"))
Response.write "<img src=""vote_"& voteresult &".gif"" title=""Betyg på denna artikel: "& formatnumber(voteresult/2,1) &" Antal röster: "& arrRecSet("antal_röster") &""" border=""0"">"
...
connect.execute("update news set antal_röster = antal_röster + 1, summa_röster=summa_röster + "& Request.Form("summa_röster") &" WHERE id = "& Request.Form("id")),,128

Men det står lite skrivet om detta sedan tidigare. Så sök lite kanske är en idé, om du inte redan gjort det. :)

Medlem sedan juli 2001203 inlägg
#4

Det som blir effektivast när du ska lista betygen är helt klart att du vid varje röst uppdaterar medelbetyget för låten. Du borde nog också spara antalet röster för att kunna uppdatera medelbetyget på rätt sätt. Så här borde formeln se ut:

Nytt medel = (gammalt medel * antalet röster + ny röst)/(antalet röster + 1)

Formeln för att räkna ut betyget utifrån procentsatsen borde vara:

betyg = (procent/100)*7

Medlem sedan nov. 20031 018 inlägg
#5

Jag ska alltså spara in medelbetyget i en kolumn och antalet röster i en annan?
Hur får jag fram variablen procent?

Medlem sedan nov. 20031 018 inlägg
#6

Varför får jag unte fram snittbetyget ur dom 3 formulären med denna kod?
T.ex om jag röstar 4 tummar upp i formuläret så ska ju medlebetyget bli 4, men med denna uträkning så blir medelbeyget 9,33333333333333.

inn = Round((Request.Form("form_inn")/100)*7)
ut = Round((Request.Form("form_ut")/100)*7)
sound = Round((Request.Form("form_sound")/100)*7)

betyg = inn + ut + sound/3

Någon som vet vad som är galet?

Medlem sedan nov. 20031 018 inlägg
#7

Löste det genom att göra så här:

betyg = inn+ut+sound

betyg = betyg/3
277 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)