Poängform

ASP

3 svar · 178 visningar · startad av fredrik99

Medlem sedan maj 2000426 inlägg
Trådstart#1

Efter som SQL inte klarade av mitt problem försöker jag med asp :)

Jag har ett fälten:
fnamn, text
enamn, text
point, tal

Det jag vill är, lägga ihop dem 10 högsta poängen (ur point) för varje person, och sedan lista ut alla personer med tillhörande totalpoäng!

Lurigt, inte sant :q

Medlem sedan dec. 20003 887 inlägg
#2
strSQL = "SELECT fnamn, enamn FROM tabell"
Set rsPerson = [i]connection[/i].Execute(strSQL, , 1)

While Not rsPerson.EOF
  strSQL = "SELECT TOP 10 point FROM tabell WHERE fnamn = '" & rsPerson("fnamn") & "' AND enamn = '" & rsPerson("enamn") & _
  "' ORDER BY point DESC"
  Set rsPoint = [i]connection[/i].Execute(strSQL, , 1)

  intTotalPoint = 0

  For i = 1 To 10
    intTotalPoint = intTotalPoint + CInt(rsPoint("point"))

    rsPoint.MoveNext
    If rsPoint.EOF Then Exit For [blue]'Ifall personen inte har 10 poäng...[/blue]
  Next

  Response.Write rsPerson("fnamn") & " " & rsPerson("enamn") & " har totalpoäng: " & intTotalPoint

  rsPerson.MoveNext
Wend

Jag använder en for-loop, eftersom Access (om du nu kör det) inte hanterar TOP speciellt smart.

Medlem sedan maj 2000426 inlägg
#3

/r

Kanon :e
Överst skall personen som har störst totalpoäng stå, hur fixas detta utan (?) sql?

Medlem sedan dec. 20003 887 inlägg
#4

Istället för att skriva ut det på en gång med Response.Write kan du lagra namn och totalpoäng i en tvådimensionell array. Denna sorterar du sedan efter poäng och skriver ut den...

Jag ska på lunch nu, så jag hinner inte plita ner några kodrader :l

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)