Pagina 1 din 1

anunta preventiv (mysql);

Scris: Mie Feb 09, 2011 7:18 pm
de ispas
salut,am un tabel `vip` ,cu campul acesta :

Cod: Selectaţi tot

  `expire` varchar(100) NOT NULL,

expire este data,de genul acesta ziua.luna.anul (01.01.2010),
si cand timpul prezent este egal cu valoarea din campul `expire` ,sa se stearga!
acum problema este ca nu stiu cum sa fac in asa fel,incat sa dea acea data ,cu 3zile in urma sa-i poata trimita un mesaj automat!
ma gandeam la ceva de genul acesta
$stergere = 10.01.2011; /// data de azi + 3zile,
si apoi as scoate din sql cu conditita WHERE expire='".$stergere."',
ar merge?nu ar exista o linie simpla mysql in acea conditie sa-mi selecteze fara sa mai fac eu variabilele php?
adica ceva de genul :

Cod: Selectaţi tot

WHERE expire = '".data_actuala."+3zile'

se poate?

Scris: Mie Feb 09, 2011 10:14 pm
de crivion
daca nu era varchar si era date tipul campului era posibilitatea direct fara variabile

Scris: Joi Feb 10, 2011 9:27 pm
de Ctek
extrage data de expirare din db
$list($zi,$luna$an) = explode($rand['expire']);

foloseste : mktime(hour,minute,second,month,day,year,is_dst)

//aici calculezi data expirarii
$data_expirare= date('Y-m-d' , mktime(0,0,0,$luna,$zi-3,$an));

// aici primesti data curenta
$data_curenta= date('Y-m-d');

if ($data_curenta == $data_expirare) { echo "Mai ai 3 zile pana expira"; };

Scris: Vin Feb 11, 2011 10:24 am
de teachme
Ctek scrie:extrage data de expirare din db
$list($zi,$luna$an) = explode($rand['expire']);

foloseste : mktime(hour,minute,second,month,day,year,is_dst)

//aici calculezi data expirarii
$data_expirare= date('Y-m-d' , mktime(0,0,0,$luna,$zi-3,$an));

// aici primesti data curenta
$data_curenta= date('Y-m-d');

if ($data_curenta == $data_expirare) { echo "Mai ai 3 zile pana expira"; };


ce se intampla daca $zi = 1, 2 sau 3 ?

Scris: Vin Feb 11, 2011 3:19 pm
de iSeLast
functia date() trece la luna precedenta daca ziua <=0.
De exemplu:

Cod: Selectaţi tot

echo date('d-m-Y' , mktime(0,0,0, 9, 1, 2011));

01-09-2011
----------------------------
echo date('d-m-Y' , mktime(0,0,0, 9, 0, 2011));

31-08-2011
----------------------------
echo date('d-m-Y' , mktime(0,0,0, 9, -1, 2011));

30-08-2011