webForumDet fria alternativet

Hur sortera efter störtsta kolumn

ASP

4 svar · 193 visningar · startad av nill

Medlem sedan okt. 2001387 inlägg
Frågan#1

Har data från en röstning. De olika alternativen man kan rösta på har en varsin kolumn. s1, s2, s3 osv...
och när folk röstar så gör jag bara såhär: UPDATE svar SET s1 = s1 + 1

funkar ju jättebra men eftersom jag har rätt många röstalternativ vill jag bara presentera de 5 som fått flest röster.

Så hur gör jag det?

Medlem sedan mars 2002777 inlägg
#2

// fel

Medlem sedan mars 2002777 inlägg
#3
strSQL = "SELECT TOP 5 svar " & _
" FROM tabell " & _
"ORDER BY svar DESC"

SET rs = Connect.Execute(strSQL)

If not rs.EOF then

arrVote = rs.getrows()
rs.close()
set rs = nothing

For I = 0 To UBound(arrVote,2)

strResultat = arrVote(0,I)

' Presentera data

Next

Connect.close()
set Connect = nothing
Medlem sedan okt. 2001387 inlägg
#4

men vadå select top 5 svar? det finns ingen kolumn eller post som heter svar.

kolumnerna heter s1, s2, s3...

och hur skulle jag presentera datan mer exakt?

Medlem sedan mars 2002777 inlägg
#5

Ok, det var bara ett demo exempel på kolumnnamn.

Ditt problem grundar sig då i din struktur i databasen. Varje svarsalternativ bör ha en egen rad i tabellen och inte en egen kolumn. Genom att göra så förenkalr du hämtningen av data.

tex:


[b]tabell: answer[/b]

poll_id | answer_alternative | votes | id 

1  | Ja  | 11  | 1  
2  | Nej  | 13  | 1  
3  | Vet inte  | 71  | 1  

[b]tabell: poll[/b]

id | question | votes | [date] 

1  | Gillar du webForum?  | 95  | 0000-00-00
269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)