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?
cyprysMedlem sedan dec. 20003 563 inlägg Hmm, hur ser WHERE-satsen ut?
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
cyprysMedlem sedan dec. 20003 563 inlägg 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'
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?
LarsGMedlem sedan dec. 200012 464 inlägg 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?