webForumDet fria alternativet

Poängform

ASP

3 svar · 172 visningar · startad av fredrik99

Medlem sedan maj 2000426 inlägg
Frågan#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

314 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
185 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)