Mam tabele w bazie w której jest pole data fotmatu date i zapisuje dni w formacie (np. 2005-12-09), jakie zapytanie do bazy mam napisać aby usunćą wszystkie rekordy które są w niej ponad np. miesiąc???
Nie wiem, jak się w PHP daty odejmuje, ale musisz pobrać aktualną i odiąć od niej miesiąc (tu możesz albo przyjąć na sztywno np. 30 dni, albo sprawdzać ile dany miesiąc ma dni i tyle odejmować albo jeszcze inaczej)
DELET.E FROM nazwa_tabeli WHERE pole_date < teraz_minus_miesiąc
w słowie DELET.E oczywiście nie powinno być kropki, ale jak jej nie ma to jest błąd PHP 8-0
Proszę:
Dajesz aktualną datę do zmiennej:
$data_dzis = date("Y-m-d");
I zapytanie kasujące:
delete. from twoja_tabela where data<'$data_dzis'-INTERVAL 1 MONTH
Kropke po delete wywal bo bez tego wywala mi blad na forum :[
Koniec imprezki ;-)
Różnego rodzaju opcje czasowe są do poczytania tutaj:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Pozdro
P.S. Przetestowane - działa