Avatar billede ldplusse Nybegynder
12. februar 2004 - 11:32 Der er 11 kommentarer og
1 løsning

Check af Tid & Dato.

Jeg har brug for et lille scripts som kan tjekke tid og dato.

Jeg har et felt i min DB, som indeholder værdien fra "Now" kommandoen.
Dette felt bliver opdateret hver gang en bruger navigere rundt på siden.

Det der så skal bruges er, et check om dette felt er ældre en 10 min.
Jeg har så mulighed for at lave en side som udskriver hvilke brugere der er online. Jeg kan nemlig ikke nøjes med antal brugere online (det har jeg allerede)

Ved ikke helt hvordan jeg skal lave det.
Avatar billede eagleeye Praktikant
12. februar 2004 - 11:41 #1
Du kan indsætte / opdatere det med en SQL hvis du har brugernavnet, kolonne lastonline skal være af typen date/time:

SQL "UPDATE brugere SET lastonline = Now() WHERE brugerID = " & Session("brugerid")


Så kan du hendte dem som er online ved:

SQL = "SELECT * FROM brugere WHERE DateDiff('n',lastonline,Now()) <= 10"
Avatar billede eagleeye Praktikant
12. februar 2004 - 11:42 #2
Selve SQL sætningerne vil afhænge lidt af hvilken database du bruger, Access/mySQL ?
Avatar billede ldplusse Nybegynder
12. februar 2004 - 11:42 #3
Lyder interessant. Kigger på det efter frokosten.
Avatar billede ldplusse Nybegynder
12. februar 2004 - 13:30 #4
Så har jeg kigget lidt på det.
Det virker fint med "SELECT * FROM brugere WHERE DateDiff('n',lastonline,Now()) <= 10"
Men jeg har også brug for at tjekke i selve db feltet lastonline.
så jeg med en "SELECT * FROM brugere"
kan jeg efterfølgene lave noget ala.

If DateDiff('n',rs("lastonline"),Now()) <= 10 then
response.write "online"
End if
rs.movenext

SÅ kan jeg nemlig på en liste udskrive alle brugere på sammeside, men kun skrive online ved dem er har lavet aktivitet inden for 10 min.

MEN DET VIRKER IKKE.
Avatar billede eagleeye Praktikant
12. februar 2004 - 13:35 #5
Ok så skal 'n' være "n" når det er i ASP koden:

If DateDiff("n",rs("lastonline"),Now()) <= 10 then
response.write "online"
End if
Avatar billede ldplusse Nybegynder
12. februar 2004 - 13:43 #6
Så virker det også.
Men den tjekker ikke rigtigt på tiden.
Det er ikke 10 min eller 10 timer eller 10 dage.
Men en user var dog ikke online da jeg ændrede han årstal til 2003
Avatar billede eagleeye Praktikant
12. februar 2004 - 13:53 #7
DateDiff giver tiden imellem to date/time i et antal som er angivet som parameter.
n skulle give antal minutter imellem de to, så hvis det ikke er godt nok kan det skrives som sekunder s og så huske at gange med 60:  10*60
Jeg kan ikke helt huske om den runder op eller ned så hvis der 9.48 minutter om det giver 9 eller 10 minutter imellem.

If DateDiff("s",rs("lastonline"),Now()) <= 10*60 then


>>Men den tjekker ikke rigtigt på tiden.
hvordan??


Hvis det driller lidt kan du prøve at sætte denne linje i toppen så side køre med DK dato format:
<% session.LCID = 1030 %>
Avatar billede ldplusse Nybegynder
12. februar 2004 - 14:09 #8
Jeg bruger lcid 1030
Jeg mente bare at den måske tjekkede på timer eller dage istedet for min.
Avatar billede eagleeye Praktikant
12. februar 2004 - 14:14 #9
Nej den tjekker på det som man angiver og den kan kun enten tjekke på minutter eller dage eller timer den kan ikke sige der er 2 timer 4 minutter og 23 sekunder imellem to tidspunkter. Det bliver enten 2 timmer eller 124 minutter eller 7463 sekunder
Avatar billede ldplusse Nybegynder
12. februar 2004 - 14:23 #10
Jeg fandt fejlen.
Jeg skulle ændre DB feltet til at være "Tekst" istedet for et "Tid/Dato" felt. Lidt mærkeligt, synes jeg nok.

Men jeg kan så oplyse at den runder op.
Da en online bruger der var på kl. 14:10:24 først var offline kl. 14:21:00

Men opgave løst, så kom lige med et svar.
Kan man ikke ønske at eksperten ændre det så det er "svar" som den standard står i. Så er man da fri for at skulle bede om et svar, så man kan give points.
Avatar billede eagleeye Praktikant
12. februar 2004 - 14:31 #11
Ok her et svar :)

Ok så det skulle være en tekst kolonne ja lidt mærkeligt..
Ja det kunne være en ide. Eller man kunne acceptere en kommentar som svar, der har været nogle forslag omkring det, måske det kommer en dag :)
Avatar billede ldplusse Nybegynder
12. februar 2004 - 14:34 #12
Tak for hjælpen.
Dejligt at man ikke selv, skal bruge flere dage på at løse problemet.
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
Kurser inden for grundlæggende programmering

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