webForumDet fria alternativet

Count tills träff på värde!

ASP

9 svar · 469 visningar · startad av Alamartimo

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

Lite luddig fråga kanske.

Men jag undrar om det är möjligt att köra den här koden:

strSQL = "SELECT SUM(Points) AS PSUM, Driver FROM race Where League = '" & strLEG & "' GROUP BY Driver ORDER BY PSUM DESC

Med en count = count + 1 kan jag då lista Driver och summan av Points.

1. "Namn" "Summa poäng"
2. "Namn" "Summa poäng"
3. "Test" "Summa poäng"

etc

Men låt säga att jag nu vill bara ha tag i positionen för "Test" vilket är 3. och visa bara den utan de andra.

Kan man då köra en Do until Driver = "Test" eller något liknande för att få fram countvärdet när jag kommer till "Test"

Eller det går kanske inte?

Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Varför inte komplettera WHERE-satsen med "AND test=3"?

Medlem sedan okt. 2004129 inlägg
#3

Tja värdet 3 får jag ju inte fram förräns jag har kört igenom frågan och använt count = count +1

eller?

Först så summerar jag poängen för varje Driver (som är namn på personer)

Sen listar jag dom med den högsta poängen först osv.

Men på en annan sida så visar jag info om Driver (personen).

Där vill jag då ha fram bara själva värdet 3 som ett svar ex.

Driver: Test
Position: 3

Medlem sedan apr. 20031 660 inlägg
#4

Då borde en av dessa vara sann:

- det är två istället.
- du kan inte köra update och få ett recordset på samma gång.

Medlem sedan okt. 2004129 inlägg
#5

Okej det där förstod jag inte ärligt talat J.N.

Låt säga att du listar (vad som helst) ur en databas i en ordning tex. Namn.

Du skriver ut det med en count = count +1

ex

1. Anders
2. Håkan
3. Nils
4. Tage

1.2.3.4 osv finns inte i databasen.

Vad jag vill ha tag i är numret som exempelvis Nils har i listningen, alltså 3.

Finns där ett sätt att få fram det om jag inte har 3. sparat i databasen?

Medlem sedan apr. 20031 660 inlägg
#6

Okej, då förstår jag vad du egentligen menar!

Då får du göra en räknare (som du redan har), dela den med 3, och kolla om du får någon rest. Det finns inbyggt i VBscript, Mod().

if raknare mod 3 = 0 then skriv ut posten.

Gör du så, kommer du endast att skriva ut var tredje post.

Jag trodde du menade att det var två som du uppdaterade till tre, dvs ändra i WHERE, alt att du gjorde fel i kodningen mht var/hur du hämtade din post.

Medlem sedan okt. 2004129 inlägg
#7

Nää det var inte så heller :)

Jag måste förklara uruselt. :OO

Vi säger så här då.

Har en tabell med:

Driver, Points

Driver innehåller namn och Points innehåller siffror (poäng).

Jag har en sida som alla Driver finns listat (driverlist.asp)
När jag klickar på ett namn så ska jag presentera lite statistik på den Drivern jag valt.

Däribland vilken position som Drivern ligger på i en serietabell.

Jag använder:

strSQL = "SELECT SUM(Points) AS PSUM, Driver FROM race Where League = '" & strLEG & "' GROUP BY Driver ORDER BY PSUM DESC

Do Until rsPSUM.EOF
count = count + 1

För att lista alla drivers i med den högsta totalsumman överst osv
(standings.asp)

1. Alamartimo 100
2. Nils 70
3. Tage 60
4. Håkan 55

Men på sidan (showdriver.asp) som ska visa statistik på Nils (säger vi) så vill jag kunna skriva ex:

Namn: Nils
Totalpoäng: 70
Position: 2

Men jag har problem att få fram 2 an. :q

Medlem sedan apr. 20031 660 inlägg
#8

Ja, det måste du, för jag förstår alltid rätt! :)

Du kan fixa det med en egen fråga som letar upp positionen, och det förvånar mig inte om man kan få det i samma fråga som hämtar detaljinformation för drivern.
Dock överstiger #2 min kunskap, och varför inte göra det på enklaste sätt?

I länken från "Nils 70" hänger du på positionen!
showdriver.asp?id=" & idnrkusk & "&pos=" & count

I showdriver.asp hämtar du sedan värdet på vanligt sätt.

Detta grundar sig också på att den position som count visar är korrekt, dvs sidan driverlist.asp kan inte göra del-urval i databasen, utan visar alltid topplistan.

Medlem sedan okt. 2004129 inlägg
#9

Nu vart det rätt :)

Jag tror jag vet hur jag ska göra nu. Får pilla lite med koden och testa mig fram nu.

Tack för hjälpen.

Skriver hur jag gjorde sedan.

Medlem sedan okt. 2004129 inlägg
#10

Gick inte att få till det bra så jag skapar en ny tabell istället som jag fyller på och uppdaterar efterhand istället med totalpoängen.

Blir enklare så och jag får ut informationen på ett bättre sätt.

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)