Sterge din baza de date dupa o anumita data

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
evident
Mesaje:168

Sterge din baza de date dupa o anumita data

Salut,
cum as putea sa fac un script in care sa mi se stearga din baza de date o anumita inregistrare dupa o data anume.
De exemplu, am o baza da date cu anunturi si o coloana cu numele "expira" care se introduce autoamat dupa ce userul introduce anuntul pe site. Sa se stearga anunturile dupa data aia.

MarPlo Mesaje:4343
Salut
Depinde de tipul coloanei cu acea data, daca e de tip DATETIME, INT sau VARCHAR (cu inregistrare numar Timestamp).
In principiu se foloseste formula SQL:

Cod: Selectaţi tot

DELETE FROM nume_tabel WHERE conditie
Iar la conditie poti avea:

Cod: Selectaţi tot

WHERE `expira` < NOW()
Sau:

Cod: Selectaţi tot

WHERE UNIX_TIMESTAMP(`expira`) < CURRENT_TIMESTAMP()

evident Mesaje:168
asa m-am gandit si eu si merge.dar eu vreau sa includ scriptul acesta undeva in site si sa ruleze ori de cate ori este accesata acea pagina...de exemplu in header.iar daca cineva are setata data gresit in calculator imi sterge din baza de date dupa data pe care o are setata acel vizitator.
sper ca m-ati inteles
Multumesc.

MarPlo Mesaje:4343
Scriptul PHP lucreaza cu data de pe server (de exemplu date() sau time() ), iar NOW() e data curenta in serverul MySQL, nu are treaba cu data de pe calculatorul utilizatorului.
Depinde cum ai codul pt. adaugare, ce data de expirare adauga. In plus, pot fi diferente de data intre serverul PHP si MySQL. In cazul asta trebuie folosita aceeasi functie de timp si la Insert si la Delete, ori cu timpul din PHP, ori cu NOW() (sau CURRENT_TIMESTAMP() ) care e in MySQL.

evident Mesaje:168
nu stiam chestia asta.credeam ca e luata de la fiecare.daca e cum ai zis u sus ma descurc sa fac un script care sa stearga dupa o anumita data.
data expirarii este inserata automat de userul care adauga un anunt cam asa:
DATE_ADD(NOW(), INTERVAL $zile DAY)
iar $zile = $_POST['zile']; care vine din formularul de adaugare

Subiecte similare