Avatar billede Slettet bruger
29. januar 2007 - 15:16 Der er 21 kommentarer

Ikke vise hvis post mere end 5 minutter gammel

Hej..

Jeg har et felt i min database, hvor jeg godt vil have den ikke skal vise mere end 5 minutter gamle beskeder..
Jeg har et felt i min database som hedder tid og dato som henter tiderne posten kom ind i time() og date().

Min kode ser sådan her ud..:)

DET ER SQL..

<%
strSQL = "SELECT * FROM LoginLog WHERE dato < 'date()' OR dato = 'date()'  Order by id desc"
Set rs = Conn.Execute(strSQL)

if not rs.EOF then
%>
<%= rs("brugerid") %> Loggede ind d. <%=rs("dato") %> klokken <%= rs("tid")%>
<%
else
%>
Ingen kunne findes
<%
end if
%>
<%
Conn.close
set conn = Nothing
%>
Avatar billede fennec Nybegynder
29. januar 2007 - 15:24 #1
1. Hvilken database bruger du?
2. Dato og tid kolonnerne skal lægges sammen til en, så de står sammen ("29-01-2007 15:23:33")
Avatar billede Slettet bruger
29. januar 2007 - 15:26 #2
1: MySQL
2: Lige som now() funktionen? Eller Date() & " " & Time()
Avatar billede fennec Nybegynder
29. januar 2007 - 15:38 #3
Date() & " " & Time() giver samme resultat som now(), men jeg snakker om dine tabeller. Jeg forstår det som om du har 2 kolonner:

ID, dato, tid
1, '29-01-2007', '12:15:00'
2. '29-01-2007', '13:24:21'

Hvor det skulle have været:
ID, datoTid
1, '29-01-2007 12:15:00'
2, '29-01-2007 13:24:21'

Men det er måske mig der har misforstået navnet på kolonnen som er "tid og dato"??
Avatar billede Slettet bruger
29. januar 2007 - 15:41 #4
Nej. dato, tid. Så skal jeg rettte det hvad så med SQL sætningen?
Avatar billede fennec Nybegynder
29. januar 2007 - 16:03 #5
I mySQL skal du have fat i dateadd funktionen:
select * from LoginLog where datoTid > dateadd(now(),INTERVAL -5 MINUTE)

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Avatar billede Slettet bruger
29. januar 2007 - 16:10 #6
strSQL = "select * from LoginLog where datoTid > dateadd(now(),INTERVAL -5 MINUTE)"
virker ikke..
Avatar billede fennec Nybegynder
29. januar 2007 - 16:16 #7
Er datatypen på datoTid kolonnen datetime?
Avatar billede Slettet bruger
29. januar 2007 - 16:21 #8
Jeg har lige sat den til det, men den siger stadigvæk fejl..

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-5.0.21-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

/untitled.asp, line 12
Avatar billede Slettet bruger
29. januar 2007 - 16:25 #9
Den sætter også datotid til 0000-00-00 00:00:00
Avatar billede fennec Nybegynder
29. januar 2007 - 16:48 #10
Har du ikke opdateret datoTid kolonnen så den indeholder data fra de to andre kolonner??
Avatar billede Slettet bruger
29. januar 2007 - 17:01 #11
Nope, ved ikke hvordan man gør.
Avatar billede fennec Nybegynder
30. januar 2007 - 08:19 #12
Nu har jeg ikke en MySQL database lige her til at teste med, men mener det bare er sådan her:
"update LoginLog set datoTid = dato+tid"
Avatar billede Slettet bruger
30. januar 2007 - 16:22 #13
Forstår ikke?
Avatar billede fennec Nybegynder
30. januar 2007 - 16:44 #14
Bare så vi er på samme side...

Du havde fra start 2 kolonner til at opbevare dato og tid. De hed "dato" og "tid". Data heri var opbevaret ala min beskrivelse i post 29/01-2007 15:38:14 (første del). Er det ikke rigtig opfattet??

(Hvis det er rigtig opfattet)
Det dur ikke at have de i to kolonner, da det skaber problemer omkring midnat. Vi skal derfor have samlet de to kolonner til en. Den nye kolonne navndøbes "datoTid" og er af DateTime datatypen. Vi skal så have samlet data fra "dato" og "tid" og indsat i "datoTid" kolonnen. Det er muligt at opdatere alle rækker på en gang med denne sql:
update LoginLog set datoTid = dato+tid
Avatar billede hundevennen Nybegynder
30. januar 2007 - 18:37 #15
fennec - gider du ikke kigge på mit spm
http://www.eksperten.dk/spm/759396
Avatar billede Slettet bruger
30. januar 2007 - 21:44 #16
Hvor skal jeg sætte den ind?
Avatar billede fennec Nybegynder
05. februar 2007 - 08:21 #17
Sætte hvad ind?? Den her:
update LoginLog set datoTid = dato+tid

Den skal køres direkte fra dit MySQL administrations modul. Der skulle du gerne have mulighed for at køre en sql-sætning direkte et sted.
Avatar billede hundevennen Nybegynder
05. februar 2007 - 11:29 #18
._)
Avatar billede Slettet bruger
05. februar 2007 - 13:46 #19
??Jeg har stadig ikke fundet ud af det..
Avatar billede fennec Nybegynder
05. februar 2007 - 13:52 #20
Hvilket program bruger du til at administrere din MySQL database?? Altså det program du opretter nye tabeller/kolonner i databasen med.
Avatar billede Slettet bruger
05. februar 2007 - 13:55 #21
Det der MySQL. Over nettet
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