webForumDet fria alternativet

Count och Select. Varför?

ASP

5 svar · 212 visningar · startad av Kristianstad

Medlem sedan dec. 2002841 inlägg
Frågan#1

Hej!
I menyn på en hemsida har jag skrivit antalet som är online. (denna kod ligger i en includefil).
På en sida kan man se vilka som är online; onlinelista.

I menyn använder jag COUNT(*) och i onlinelistan listar jag upp alla med en vanlig SELECT.

Men! Cirka 90% av gångerna man besöker sidan händer följande:
Det står på sidan: Just nu är det 14 online. Då man i samma sekund besöker onlinelistan kan man se 2 stycken namn där. Alltså fel!

Hur kommer detta sig? Koden för COUNT(*) ligger i en includefil. Kan det spela någon roll? Tar den inte färskt material från includefilen?

Vad kan det vara som är galet?

Medlem sedan dec. 20003 563 inlägg
#2

Hmm, hur ser WHERE-satsen ut?

Medlem sedan dec. 2002841 inlägg
#3

Count-grejen ser ut så här:

SELECT COUNT(*) FROM Online

Select-grejen ser ut så här:

SELECT sSida, ID, sID, Tid FROM Online WHERE Left(sID,4)<>'gäst' ORDER BY sID

och

SELECT sSida, ID, sID, Tid FROM Online WHERE Left(sID,4)='gäst' ORDER BY sID
Medlem sedan dec. 20003 563 inlägg
#4

Pröva att sätta samma villkor för båda satserna är en start ;)

SELECT COUNT(*) FROM Online WHERE Left(sID,4)<>'gäst'
Medlem sedan dec. 2002841 inlägg
#5

Nämen den ena satsen där jag visar allt är <>'gäst' (alla som är inloggade) och den andra är ='gäst' (alla som inte är inloggade).
Och jag vill ha COUNT(*) på alla. Därmed behöver jag ju ingen WHERE i COUNT-satsen.

Eller är jag ute och reser?

Medlem sedan dec. 200012 464 inlägg
#6

varför har du två select-satser för att visa vilka som är online?

Utför gäst-kontrollen i ASP

Hur skriver du ut online-listan?

260 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)