Avatar billede rix Novice
29. juni 2010 - 15:38 Der er 12 kommentarer og
1 løsning

slet en kolone efter en bestemt tid(3 dage) i MySQL

hej

jeg har et stykke tid søgt efter en kode som kan slette en kolone i min MySQL efter 3 dage hvis der i akvi står nej
altså hvis der står ja skal den ikke slettets

dem koder jeg fandt slettede alle koloner med nej i med det samme eller også slettede den intet

er der nogen der kan hjælpe mig ?
Avatar billede arne_v Ekspert
29. juni 2010 - 15:41 #1
Det er nemt nok at skrive PHP som sletter i databasen.

Problemer er at faa udfoert det kode paa det rigtige tidspunkt.

Det er der grundliggende to maader til:

1) koer et job en gang imellemme (*nix cron eller Windows scheduler) som koerer din PHP kode

2) koer din PHP kode hver gang nogen skal se data, saaledes at data ikke bliver slettet til tiden men foerst naar nogen vil se data
Avatar billede rix Novice
29. juni 2010 - 17:20 #2
altså jeg smed den et sted hvor den altid ville blive aktiviterede når nogen gik ind i en side er det forkert??
Avatar billede majbom Novice
29. juni 2010 - 20:18 #3
-> #2 - ja det er nok det #1 mener...

du kan også oprette dig gratis på cronjob.de og få deres server til at kører scriptet en gang om dagen f.eks.
Avatar billede rix Novice
30. juni 2010 - 00:23 #4
hmm det er fordi jeg er igang med at lave noget ansøgning værk til en anden firmar og der ville jeg gerne lave at de atomatisk bliver slettet efter 3 dage hvie de ikke er blevet godkendt så håber der findes en eller stump kode som kan bruges i stedet for :(
Avatar billede majbom Novice
30. juni 2010 - 07:17 #5
DELETE FROM ansogninger WHERE DATE_SUB(oprettelses_dato, INTERVAL 5 DAY) > NOW()


det kræver jo så at feltet oprettelses_dato er af typen date eller datetime
Avatar billede rix Novice
01. juli 2010 - 16:33 #6
hej undskyld jeg føst svare nu men jeg har ikke haft tid til rode rundt med det før nu :D

men synes ikke jeg kan få den til at virke??
Avatar billede majbom Novice
01. juli 2010 - 19:31 #7
hvordan ser din tabel ud?
Avatar billede rix Novice
01. juli 2010 - 20:07 #8
hmm
der er vel kun to ting du skal vide

tabelen heder ansøgning
og så er der der hvor tiden er den heder tid
og det er datetime :D
Avatar billede majbom Novice
03. juli 2010 - 00:12 #9
nej jeg ved ikke lige hvad det var jeg fik bixet sammen der :S

prøv med:

DELETE FROM ansogning WHERE DATEDIFF(CURDATE(), tid) > 3
Avatar billede rix Novice
03. juli 2010 - 15:52 #10
hmmm det ser ud til at virker :D så hvis du ville ligge en svar med en forklaring i hvordan du laver det der blå så har du fortjent dine point
mange tak hilsen ronnie :D
Avatar billede majbom Novice
03. juli 2010 - 19:00 #11
selv tak :)

guide til "det blå": http://www.eksperten.dk/guide/1325 ;)
Avatar billede rix Novice
03. juli 2010 - 19:08 #12
ok mange tak :D havde ledt lidt men kunne ikke finde noget men endnu en gang tak
Avatar billede majbom Novice
03. juli 2010 - 20:31 #13
selv tak, og tak for points :)
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