wmaraci reklam
lidertakipci

php ile mysqldeki eski kayıtları silme

8 Mesajlar 860 Okunma
advertseo
wmaraci reklam

mehmeter46 mehmeter46 WM Aracı Kullanıcı
  • Üyelik 27.01.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad M** E**
  • Mesajlar 505
  • 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 1359
  • 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 505
  • 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 1359
  • 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 505
  • 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 1359
  • 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 51 / 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 505
  • 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;
}
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al