anunta preventiv (mysql);

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Avatar utilizator
ispas
Senior Member
Mesaje: 655
Membru din: Mar Sep 14, 2010 1:35 pm
Localitate: Craiova
Contact:

anunta preventiv (mysql);

Mesajde ispas » Mie Feb 09, 2011 7:18 pm

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?



crivion
Senior Member
Mesaje: 781
Membru din: Mar Apr 10, 2007 4:20 pm
Localitate: Somewhere

Mesajde crivion » Mie Feb 09, 2011 10:14 pm

daca nu era varchar si era date tipul campului era posibilitatea direct fara variabile

Avatar utilizator
Ctek
Senior Member
Mesaje: 310
Membru din: Dum Oct 05, 2008 12:05 am
Contact:

Mesajde Ctek » Joi Feb 10, 2011 9:27 pm

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"; };

Avatar utilizator
teachme
Senior Member
Mesaje: 550
Membru din: Mar Aug 17, 2010 11:52 am

Mesajde teachme » Vin Feb 11, 2011 10:24 am

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 ?

iSeLast
Junior Member
Mesaje: 42
Membru din: Mar Mar 30, 2010 2:35 pm
Localitate: Rm. Valcea
Contact:

Mesajde iSeLast » Vin Feb 11, 2011 3:19 pm

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


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 24 vizitatori