Avatar billede learner Praktikant
06. august 2004 - 11:44 Der er 15 kommentarer og
1 løsning

jeg har brug for at tjekke om et timestamp i mysql er 20 dage gl

her er et eksempel på feltet lastchange, som automatisk sættes med timestamp i min mysql db:
20040806094247

jeg har brug for at slette alle hvor lastchange er over 20 dage gl. Er der en simpel måde såsom evt
$20_dage_siden=date()-20*24*60;

eller noget mere enkelt?

jeg kan sagtens finde ud af at lave det hele selv, men har blot brug for at lave $20_dage_siden som kan holdes op mod det timestamp mysql laver

På forhånd tak! :o)
Michael
Avatar billede learner Praktikant
06. august 2004 - 11:48 #1
kan man bruge noget der ligner:
$20_dage_siden = strtotime("now, -2 week");
Avatar billede learner Praktikant
06. august 2004 - 11:49 #2
om det er 3 uger eller 20 dage, er ligegodt! ;-)
Avatar billede detox Nybegynder
06. august 2004 - 11:51 #3
Det nemmeste er at lave forespørgslen direkte i MySQL. Fx:

DELETE FROM tabel WHERE (TO_DAYS(NOW())-TO_DAYS(datofelt)>20
Avatar billede detox Nybegynder
06. august 2004 - 11:56 #4
Mangler lige en parentes:

DELETE FROM tabel WHERE (TO_DAYS(NOW())-TO_DAYS(datofelt))>20
Avatar billede learner Praktikant
06. august 2004 - 12:00 #5
ok fedt det vidste jeg ik at man kan! hmm

kan man så os det her: ???

DELETE FROM tabel WHERE (TO_DAYS(NOW())-TO_DAYS(lastchange)>20 AND activate <> 'aktiv'

kan man det? (og kan man bruge <> ligesom vi ellers bruger != i php)
Avatar billede learner Praktikant
06. august 2004 - 12:02 #6
DELETE FROM tabel WHERE (TO_DAYS(NOW())-TO_DAYS(lastchange))>20 AND activate <> 'aktiv'
Avatar billede detox Nybegynder
06. august 2004 - 12:02 #7
Ja, men husk den sidste parentes.
Avatar billede detox Nybegynder
06. august 2004 - 12:02 #8
Mener både du kan bruge: <> og !=
Avatar billede detox Nybegynder
06. august 2004 - 12:06 #9
Men husk altid at teste på en backup.
Avatar billede learner Praktikant
06. august 2004 - 12:07 #10
nej jeg ved bare ik om man kan bruge <> når det er tekst...
feks

where navn<>'michael'

resultatet skulle så blive alle der ikke hedder michael...

Kan man det? for det kan jeg ik rigtig finde ud af?
Avatar billede learner Praktikant
06. august 2004 - 12:08 #11
teste på en backup???
Avatar billede detox Nybegynder
06. august 2004 - 12:12 #12
<> og != betyder begge Not equal, så der er frit valg.
Ja, når du sletter er det bedst at teste det på en backup.
Avatar billede detox Nybegynder
06. august 2004 - 12:15 #13
Det burde virke med: where navn<>'michael'
Avatar billede learner Praktikant
06. august 2004 - 12:19 #14
nåååhhh ja selvfølgelig :-)

men er du sikker på at begge kan bruges, for jeg har aldrig set != nogen steder
Avatar billede learner Praktikant
06. august 2004 - 12:19 #15
Tak
Avatar billede detox Nybegynder
06. august 2004 - 12:23 #16
Velbekommen.
!= virker osse (har testet). Tjek det ud her:
http://dev.mysql.com/doc/mysql/en/Comparison_Operators.html
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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