webForumDet fria alternativet

Räkna ut procenten och visa bild?

ASP

8 svar · 498 visningar · startad av Bosse168

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

det är så att jag har etr röstnings script där man kan rösta från 1 till 7, varje gång man röstar så läggs röstnings summan in i en ny rad i MySQL databasen.

Summans värden som sparas när man röstar:
7 = 100
6 = 86
5 = 71
4 = 57
3 = 43
2 = 29
1 = 14

Någon som vet hur jag sedan gör för att få ut snittet?
Jag får nämligen inte ihop det eftersom snittet blir ju själva betyg bilden.

<img src="../_images/betyg/<%=Rs("summan")%>.gif"  border="0" alt="">
Medlem sedan juni 200032 967 inlägg
Medlem sedan nov. 20031 018 inlägg
#3

Jag fattar ingenting av det där :(

Medlem sedan juni 200467 inlägg
#4

Re: Räkna ut procenten och visa bild?

Bosse168 skrev:

det är så att jag har etr röstnings script där man kan rösta från 1 till 7, varje gång man röstar så läggs röstnings summan in i en ny rad i MySQL databasen.

Summans värden som sparas när man röstar:
7 = 100
6 = 86
5 = 71
4 = 57
3 = 43
2 = 29
1 = 14

Någon som vet hur jag sedan gör för att få ut snittet?
Jag får nämligen inte ihop det eftersom snittet blir ju själva betyg bilden.

<img src="../_images/betyg/<%=Rs("summan")%>.gif"  border="0" alt="">

Jag förstår inte riktigt hur du menar, Vill du ha fram bilden kan du göra på detta viset:

<% 
If RS("summan") < "14" then
bild = <img src='../_images/betyg/0.gif'  border='0' alt=''>
ElseIf RS("summan") > "14" AND < "29" then
bild = <img src='../_images/betyg/1.gif'  border='0' alt=''>
ElseIf RS("summan") > "29" AND < "43" then
bild = <img src='../_images/betyg/2.gif'  border='0' alt=''>
ElseIf RS("summan") > "43" AND < "57" then
bild = <img src='../_images/betyg/3.gif'  border='0' alt=''>
ElseIf RS("summan") > "57" AND < "71" then
bild = <img src='../_images/betyg/4.gif'  border='0' alt=''>
ElseIf RS("summan") > "57" AND < "71" then
bild = <img src='../_images/betyg/5.gif'  border='0' alt=''>
ElseIf RS("summan") > "71" AND < "86" then
bild = <img src='../_images/betyg/6.gif'  border='0' alt=''>
ElseIf RS("summan") > "86" AND < "100" then
bild = <img src='../_images/betyg/7.gif'  border='0' alt=''>
End If
%>

Och där du vill ha bilden ska du skriva <%=bild%>

Om jag nu fattade rätt. Annars gjorde jag detta i onödan ;)

Medlem sedan juni 200032 967 inlägg
#5

Bosse168 skrev:

Jag fattar ingenting av det där :(

En enkel SQL-fråga med funktionen AVG:

SELECT AVG(röstning) AS Snittet FROM tabell WHERE frågeid = 1

Sedan hämtar du bara värdet från 'Snittet' som om det vore vilket tabellfält som helst. Använd CInt() för att konvertera till heltal.

illusion skrev:

Om jag nu fattade rätt. Annars gjorde jag detta i onödan

Jag förstår inte riktigt hur du fattade, men det där är ett sätt man inte ska använda sig utav. ;)
(Det fungerar dessutom inte. ;) )

mvh

Medlem sedan juni 200467 inlägg
#6

@nders skrev:

Bosse168 skrev:

Jag fattar ingenting av det där :(

En enkel SQL-fråga med funktionen AVG:

SELECT AVG(röstning) AS Snittet FROM tabell WHERE frågeid = 1

Sedan hämtar du bara värdet från 'Snittet' som om det vore vilket tabellfält som helst. Använd CInt() för att konvertera till heltal.

illusion skrev:

Om jag nu fattade rätt. Annars gjorde jag detta i onödan

Jag förstår inte riktigt hur du fattade, men det där är ett sätt man inte ska använda sig utav. ;)
(Det fungerar dessutom inte. ;) )

mvh

Hehe, funkar för mig :/. Fick ändra lite, glömde vissa saker :)

Medlem sedan juni 200032 967 inlägg
#7

illusion skrev:

Hehe, funkar för mig :/.

Jaså?

Man ska aldrig jämföra talvärden med strängar. Dessutom, ska du göra två jämförelser mot samma värde, måste du skriva så här:

If någonting > 0 [b]and någonting[/b] < 2 then

Dessutom bör man, istället för att kalla på rs("summan") sjuhundratolv gånger, lägga värdet i en variabel.

Men, 'nuff OT, back to topic. :)

mvh

Medlem sedan juni 200467 inlägg
#8

@nders skrev:

illusion skrev:

Hehe, funkar för mig :/.

Jaså?

Man ska aldrig jämföra talvärden med strängar. Dessutom, ska du göra två jämförelser mot samma värde, måste du skriva så här:

If någonting > 0 [b]and någonting[/b] < 2 then

Dessutom bör man, istället för att kalla på rs("summan") sjuhundratolv gånger, lägga värdet i en variabel.

Men, 'nuff OT, back to topic. :)

mvh

Du har säkert rätt (Eftersom jag inte är en ASP-guru, kanske inte du heller är?), men den funkade för mig ;)

Medlem sedan nov. 20031 018 inlägg
#9

Ok så det är så man gör för att få ut snittet i SQL-satsen, men har två problem bara att det finns fyra olika kategorier som man kan rösta på.

Kategorierna / tabell namn:
bild = bild
utförande = uforande
skärpa = skarpa
snittet som man får ut av röstningarna i kategorierna ovan = snitt

Problem 2:
Hur räknar jag ut snittet som jag ska spara in i databasen?
Alltså snitten ur röstningen i dom tre första kategorierna.

Request.Form("bild")
Request.Form("uforande")
Request.Form("skarpa")
377 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
236 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)