Arkadaşlar merhaba, db ye kayıt edilen verileri eklenme tarihinden 30 gün sonra silinmesini istiyorum.
Bu işlemi nasıl yapabilirim?
x gün sonra verinin silinmesi
3
●404
- 07-03-2014, 14:36:08
- 07-03-2014, 14:39:32Üyeliği durduruldu@armagedon66; merhaba hocam şu konuda basit bi kodlama ile anlatılmış
function tarihfarki($tarih_gir){ $yeni_tarih=explode("-",$tarih_gir); $son_gun=$yeni_tarih[2]; $son_ay=$yeni_tarih[1]; $son_yil=$yeni_tarih[0]; $ilk_gun=date("d"); $ilk_ay=date("m"); $ilk_yil=date("Y"); $ek[1]=31; $ek[2]=28; $ek[3]=31; $ek[4]=30; $ek[5]=31; $ek[6]=30; $ek[7]=31; $ek[8]=31; $ek[9]=30; $ek[10]=31; $ek[11]=30; $ek[12]=31; $yil_fark=($son_yil-$ilk_yil) * 365 ; for($i=1;$i<$son_ay;$i++){ $son_ay_toplam=$son_ay_toplam+$ek[$i]; } $toplam_son_gun=$son_ay_toplam+$son_gun; for($m=1;$m<$ilk_ay;$m++){ $ilk_ay_toplam=$ilk_ay_toplam+$ek[$m]; } $toplam_ilk_gun=$ilk_ay_toplam+$ilk_gun; $sonuc=$toplam_son_gun-$toplam_ilk_gun+$yil_fark; return $sonuc; } $sql = mysql_query("SELECT * FROM urunler"); while($cek = mysql_fetch_assoc($sql)){ if($cek['avitrinsuresi'] == "1" or $cek['avitrinsuresi'] == "2" or $cek['avitrinsuresi'] == "3") { if($cek['avitrinsuresi'] == "1"){ $bitistarihi = date("Y-m-d" ,strtotime("+15 days",strtotime($cek['kayittarihi']))); } if($cek['avitrinsuresi'] == "2"){ $bitistarihi = date("Y-m-d" ,strtotime("+30 days",strtotime($cek['kayittarihi']))); } if($cek['avitrinsuresi'] == "3"){ $bitistarihi = date("Y-m-d" ,strtotime("+60 days",strtotime($cek['kayittarihi']))); } $fark = tarihfarki($bitistarihi); if($fark <= "0"){ $guncelle = mysql_query("UPDATE urunler SET avitrinsuresi='0' where id='".$cek['id']."'"); } else { $guncelle = mysql_query("UPDATE urunler SET yayinsuresi='2' where id='".$cek['id']."'"); } } - 07-03-2014, 14:47:10Üyeliği durdurulduPhp kullanmayın, direkt mysql events ile halledebilirsiniz.
https://dev.mysql.com/doc/refman/5.1/en/events.html
Örnek 1-2 event :
http://stackoverflow.com/questions/3...-time-everyday