Merhabalar,

Sorumuz : Veritabanına bigirlmiş bir kayıt var ve biz bu kayıtın tarih ve saat bilgisine “07-07-2010” ve “12:00” şeklinde sahibiz. Peki bu kayıtlardan şu anki zamandan 15 dakika önce oluşturulmuş (eskimiş olanı) olanı nasıl otomatik olarak sildirebiliriz?

Amaç : Önceki girilmiş bir zaman ile şimdiki zamanın karşılaştırılarak aradaki farka göre işlem yaptırma.

Kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
//Cron Job
// İşlem iki aşama
// 1. Aşamda eski tarihli ve kullanılmayan anahtarları sil...
// 2. Aşamada kalan verilerden saat farkı 15 dakika olanları ve kullanılmayan anahtarları sil...
//require_once("conn.php"); DB Bağlantı şeysi...
$sql = "select anahtar_no,anahtar_tarih, anahtar_saat,anahtar_dk,anahtar_uye from anahtarlar where anahtar_kullan = 0 order by anahtar_no asc";
$query = mysql_query($sql);
while($sonuc = mysql_fetch_assoc($query)){
if($sonuc['anahtar_tarih'] < date("d-m-Y")){
//Anahtarları otomatik olarak sil....
$sql_sil = "delete from anahtarlar where anahtar_no = '".$sonuc['anahtar_no']."' and anahtar_kullan = 0";
mysql_query($sql_sil);
}
else {
$anahtar_saat = $sonuc['anahtar_saat'];
$anahtar_saat = strtotime($anahtar_saat);
$simdi = strtotime("now");
$saat_fark = $simdi - $anahtar_saat;
if($saat_fark > 900 ){
//Anahtarları otomatik olarak sil....
$sql_update = "update uyeler set uye_kontor = uye_kontor + '" .$sonuc['anahtar_dk']."' where uye_no = '".$sonuc['anahtar_uye']."'";
$sql_sil = "delete from anahtarlar where anahtar_no = '".$sonuc['anahtar_no']."' and anahtar_kullan = 0";
mysql_query($sql_update);
mysql_query($sql_sil);
}
}
}
?>