Pagina 1 din 1

Stergere date din baza de date dupa un anumit timp

Scris: Joi Dec 06, 2012
de cipriand
Am un subdomeniu de anunturi , intra anunturile in baza de date in schimb sunt nevoit sa le sterg manual.
Ce trebuie sa fac sa se stearga automat dupa un anumit timp , ce trebuie sa mai adaug?
Va multumesc.

Stergere date din baza de date dupa un anumit timp

Scris: Vin Dec 07, 2012
de steell
Mai adaugi o coloana ce va contine data camd sa expire anuntul.
Apoi in pagina faci un Select si verifici daca exista anunturi care au trecut de aceasta data, daca exista le stergi.

Stergere date din baza de date dupa un anumit timp

Scris: Sâm Dec 08, 2012
de MarPlo
Se creaza o coloana de tip INT(). Apoi, la Insert se adauga timpul Timestamp (Unix, in secunde) cand sa expire acel rand /anunt.
Se face si un Delete care sa stearga randurile cu Timestamp-ul din acea coloana mai mic decat cel curent.
De exemplu, sa fie pastrate doar 30 de zile:

Cod: Selectaţi tot

// sterge unde timpul curent a depasit "expira"
$sql = "DELETE FROM table_name WHERE expira <". time();
// ...

$expira = time() + 3600*24*30;     // Timestamp sa expire peste 30 de zile
$sql = "INSERT INTO table_name (column1, column2, expira) VALUES (value1, value2, $expira)";

Stergere date din baza de date dupa un anumit timp

Scris: Mie Dec 12, 2012
de evident
Usor ar fi si cu Cron Jobs, sa ii dai sa ruleze un anumit script dupa un anumit timp.
Scriptul ti-l faci tu cum vrei. Iar in baza de date baga o coloana de tip date cu numele "expira" care sa fie adaugata automat la inserarea anuntului.
Scriptul pe care il faci sa fie utilizat de "Cron Jobs" ii dai sa stearga din baza de date toate anunturile in care expira e mai mic decat data adaugarii; asta ar fi o idee. Ma gandesc ca merge.