Avatar billede triple-x Nybegynder
28. august 2004 - 14:20 Der er 16 kommentarer og
1 løsning

Dato problem

Hvordan laver man en funktion der tjekker hvornår en bruger sidst har været logget ind.

altså, hvis jeg i en søgning vil sortere dem der har været logget ind på siden indenfor de sidste 2 uger, 1 måned og så videre.
Avatar billede superraider Nybegynder
28. august 2004 - 14:26 #1
En ide,nok ikke det optimale.

Du kan gemme oplysninger i en database, tabel, om hvornår brugeren sidst har været logget ind, og så sortere efter dato-

eller gemme oplysningerne i en txt-fil
Avatar billede triple-x Nybegynder
28. august 2004 - 14:37 #2
superraider, oplysningerne bliver registreret i databasen, mit problem ligger i at få udviklet selve det script der gør at den sortere efter de ting når man f.eks. vælger sidst set online inden for 2 uger.
Avatar billede eagleeye Praktikant
28. august 2004 - 15:43 #3
Hvis du har en kolonne som eksempelvis hedder sidstOnline og den er formatert som date/time eller bare date. Og du gerne vil vise alle den som har været online inden for de sidste X antal dage:

antalDage = 14
sql = "select * from brugere where sidstOnline>= DateAdd('d',-"&antalDage&",Date())"
Avatar billede triple-x Nybegynder
28. august 2004 - 16:33 #4
får denne fejl :
Expected end of statement
Avatar billede triple-x Nybegynder
28. august 2004 - 16:34 #5
hvis jeg laver den sådan her :
strSQLCache = strSQLCache & " AND log_in >= " & DateAdd("d",-" & antalDage & ",Date()) & ""

får jeg denne fejlkode :
Type mismatch: '[string: " & antalDage & "]'
Avatar billede superraider Nybegynder
28. august 2004 - 16:39 #6
jeg er ikke så klog at jeg kan gennemskue det. jeg er ikke ørnen til asp
Avatar billede triple-x Nybegynder
28. august 2004 - 16:43 #7
tak for oplysningen superraider ;)
Avatar billede eagleeye Praktikant
28. august 2004 - 17:22 #8
Prøv at rette det til denne den skal bruge DateAdd funktionen i databasen, er det access for øvrigt?:

strSQLCache = strSQLCache & " AND log_in >= DateAdd('d',-" & antalDage & ",Date())"
Avatar billede triple-x Nybegynder
28. august 2004 - 17:36 #9
hey
ja det er pt. en access database men vil blive konventeret til en mySQL, jeg prøver lige dit forslag
Avatar billede triple-x Nybegynder
28. august 2004 - 17:39 #10
hvordan vil du gøre at funktioen dateAdd i databasen, den kode du lige har sendt virker okay, eller det vil sige den melder ingen fejl, men den finder alle brugere, så den sortere ikke efter datoen.
Avatar billede eagleeye Praktikant
28. august 2004 - 17:41 #11
Nej den sortere heller ikke det er i WHERE delen så den skulle begrænse antalet af poster :) Vi du også sortere skal du hvade log_in i ORDER BY også.
Hvilken type er kolonnen log_in ?
Avatar billede triple-x Nybegynder
28. august 2004 - 17:47 #12
typen af kolonnen er : dato og klokkeslet i standard datoformat.
Avatar billede eagleeye Praktikant
28. august 2004 - 17:49 #13
Og den henter alt ud?
Så prøv at udskrive din strSQLCache før du udføre den for at se om den indeholder de  rigtige ting.
Avatar billede triple-x Nybegynder
28. august 2004 - 18:18 #14
dette er hvad den udskriver : log_in >= DateAdd('d',-30-08-2004,Date())
Avatar billede eagleeye Praktikant
28. august 2004 - 18:22 #15
antalDage skal være et tal.

hvis du vil havde dem som har været online de sidste 14 dage skal antalDage være lig 14. Så der kommer til at stå:  log_in >= DateAdd('d',-14,Date())
Avatar billede triple-x Nybegynder
28. august 2004 - 18:28 #16
tak, nu ser det ud til at virke, smider du lige et svar så du kan få dine velfortjente point
Avatar billede eagleeye Praktikant
28. august 2004 - 18:40 #17
ok :)
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