Avatar billede steffansteffan Nybegynder
25. september 2005 - 19:22 Der er 10 kommentarer og
1 løsning

Tjek aktive brugere.

Jeg har et felt i databasen der indeholder sidst set "22-09-2005 23:09:41"
Jeg vil så lave et tjek på der siger, tæl antal brugere hvor "sidst_set" feltet ikke er over 7dage.

Er kommet frem til noget i denne her stil.

<%
'funktion der foranstiller 2-cifrede tal med 0 hvis n&oslash;dvendigt
function LZ(s)
LZ = Right("0" & s, 2)
end function

sql = "SELECT * FROM brugere"
set rs = Connect.execute(sql)
Do

'Variabler
formDato = date()
Dato = rs("sidst_set")
aktive = DateDiff("d", Dato, konveretDato)
   
'konvetere Dato
konveretDato = LZ(Day(formDato)) & "-" & LZ(Month(formDato)) & "-" & Year(formDato) & " " & LZ(Hour(formDato)) & ":" & LZ(Minute(formDato)) & ":" & LZ(Second(formDato))
   
Sql = "Select count(*) as Found from brugere WHERE " & aktive  & " > 7"
Set Record = Connect.Execute(Sql)
Ialt = Record("found")
Response.Write("" & ialt & "")

'Lopper
rs.MoveNext
Loop While Not rs.EOF
%>

Nogle der kan hjælpe mig videre.
Avatar billede steffansteffan Nybegynder
25. september 2005 - 19:23 #1
Altså den skal løbe tabllen brugere igennem, og tælle alle de brugere som har været aktive inden for 7 dage. Datoen de sidst har været aktive står i Sidst_set feltet.
Avatar billede softspot Forsker
25. september 2005 - 22:48 #2
Jeg kan ikke helt gennemskue hvad det er du laver i det der loop, men det burde bare være:

SELECT COUNT(*) AS Found FROM brugere WHERE dato > DateAdd('d',-7,now())
Avatar billede softspot Forsker
25. september 2005 - 22:51 #3
Altså i kode:

sql = "SELECT COUNT(*) AS Found FROM brugere WHERE dato > DateAdd('d',-7,now())"
set rs = Connect.execute(sql)
if not rs.eof then
  response.write rs("Found")
else
  response.write "Fejl under optælling af aktive brugere"
end if
rs.close
Avatar billede steffansteffan Nybegynder
26. september 2005 - 06:19 #4
Når jeg skriver dette her for jeg fejl i min sql syntax.

sql = "SELECT COUNT(*) AS Found FROM brugere WHERE sidst_set > DateAdd('d',-7,now())"
set rs = Connect.execute(sql)
if not rs.eof then
  response.write rs("Found")
else
  response.write "Fejl under optælling af aktive brugere"
end if
rs.close
Avatar billede softspot Forsker
26. september 2005 - 08:55 #5
Hvilken database kører du op mod?
Avatar billede steffansteffan Nybegynder
26. september 2005 - 15:18 #6
Jeg bruger MySQL
Avatar billede softspot Forsker
26. september 2005 - 15:59 #7
Ahaaa... det forklarer hvorfor det ikke fungerer :)

Den kan jeg desværre ikke hjælpe dig med... :(
Avatar billede quicstepp Nybegynder
27. september 2005 - 00:22 #8
Prøv at erstat sofspots sql-query med denne her, som meget gerne skulle virke i mysql.

sql = "SELECT COUNT(*) AS Found FROM brugere WHERE UNIX_TIMESTAMP(sidst_set) > (UNIX_TIMESTAMP(now()) - 7*24*60*60)"
Avatar billede steffansteffan Nybegynder
30. september 2005 - 18:36 #9
Tak  quicstepp det ser fornuftigt ud... Smæk et svar... Og tak for forsøget softspot ;)
Avatar billede softspot Forsker
30. september 2005 - 18:45 #10
Det var så lidt (vil jo gerne hjælpe der hvor jeg kan - men må jo erkende at der er grænser for hvad jeg kan :))...
Avatar billede quicstepp Nybegynder
30. september 2005 - 19:32 #11
np :) endelig noget jeg kunne svare på.

jeg smider et svar nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester