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.
Sterge din baza de date dupa o anumita data
-
- Mesaje:168
Sterge din baza de date dupa o anumita data
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:
Iar la conditie poti avea:
Sau:
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
Cod: Selectaţi tot
WHERE `expira` < NOW()
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.
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.
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
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
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML Primul mesaj
SalutUltimul mesaj
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...