lostyazilim
tr.link

php ile mysqldeki eski kayıtları silme

8 Mesajlar 1.032 Okunma
lstbozum
tr.link

mehmeter46 mehmeter46 WM Aracı Kullanıcı
  • Üyelik 27.01.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad M** E**
  • Mesajlar 504
  • Beğeniler 40 / 107
  • Ticaret 1, (%100)
veritabanının posts table'ında date_created sutunu zamanı timestamp (örn:1533046366)olarak tutuyor. ben bu zamanı kullanarak şuanki zamandan 5 dk içerisinde yapılan kayıtlar harici diğer tüm kayıtları silmek istiyorum. Nasıl yapmam gerekir.
şimdiden cevabınız için teşekkür ederim.
 

 

wmaraci
reklam

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
hocam strtotime ile saniyeye çevirdikten çıkarma işlemi ile gün * 86400 ile çarpıp sonuç gün * 86400 den büyükse silme işlemini yapın.
 

 

mehmeter46 mehmeter46 WM Aracı Kullanıcı
  • Üyelik 27.01.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad M** E**
  • Mesajlar 504
  • Beğeniler 40 / 107
  • Ticaret 1, (%100)
mxaksoy cevabınız için teşekkür ederim eğer zahmet olmazsa yukarda belirttiğim table ve sütün adına göre tam kodu yazabilir misiniz? sabahtan beri birçok kod denedim ama çalıştıramadım
 

 

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
hocam ammy admin verir misin?
kodları görmeden birşey diyemem.
 

 

wmaraci
wmaraci

mehmeter46 mehmeter46 WM Aracı Kullanıcı
  • Üyelik 27.01.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad M** E**
  • Mesajlar 504
  • Beğeniler 40 / 107
  • Ticaret 1, (%100)
hocam ammy kullanmıyorum kusura bakmayın. kod yok hocam sisteme ek olarak dosya oluşturup cronjobla silme işlemini günlük olarak tekrarlatacağım.
dediğim gibi
table adı: posts
sütun: date_created

 

 

mxaksoy mxaksoy Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 23.03.2018
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad M** A**
  • Mesajlar 1358
  • Beğeniler 482 / 344
  • Ticaret 3, (%100)
veriyi çek diyelim 30 gün olsun.
30 * 86400 = 2592000
if($dateC > 2592000){
silme komutu
}
 

 

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
$checkPoint = time() - (5 * 60);

$sql = "DELETE FROM posts WHERE date_created < ".$checkPoint;
 

 

mehmeter46 mehmeter46 WM Aracı Kullanıcı
  • Üyelik 27.01.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad M** E**
  • Mesajlar 504
  • Beğeniler 40 / 107
  • Ticaret 1, (%100)
pdo ile şu şekilde hallettim. herkese teşekkürler



date_default_timezone_set('Europe/Istanbul');
$date = date("d M Y H:i:s",strtotime('-4 days'));
$sonvakit = strtotime($date);
echo $sonvakit;

$sql = "DELETE from posts where date_created < $sonvakit";

if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al