Arkadaşlar elimde bir oyun var. Oyunda bir item alınıyor ve aldığı tarihten itibaren belirlediğim güne kadar geçerlilik süresi olsun istiyorum. O tarihten belli bir gün sonra veritabanından silinsin istiyorum.
Yalnız aynı itemden 1 den fazla alınabiliyor. Aynı itemden alan kişi mesela farklı farklı tarihlerde aynı şeyden 5 tane almışsa aldığı günden itibaren geçerlilik süresi başlasın ve belirlediğim tarihte kaybolsun istiyorum.
Bunu nasıl yapabilirim ? Google de felan buna benzer bir kodlama yardımcı döküman vs göremedim. Yardımcı olabilecek PHP konusunda bilgili deneyimli arkadaşlar var mı ?
Alındığı Tarihten İtibaren Geçerlilik Süresi
2
●192
- 25-02-2017, 15:30:43
- 26-02-2017, 00:48:48Yardımcı olmasına olalım ama birkaç tane yol var.
Birincisi daha kolayına gelecek bir işlem. Biraz karışık gibi gözükebilir.
buy_items adlı bir tablon olsun ve bu tabloda satın alınan itemleri kayıt et. id, item_name, userID, created_time vs gibi sütunların olsun. Mesela her satın alınan itemin 1 ay kullanım hakkı var diyelim. PHP ile veritabanından itemleri çekeceksin, daha sonra foreach ile döngüye sokup süresi dolanları o tablodan sileceksin. Örnek kod;
$getRows = $db->get_results("SELECT * FROM buy_items"); if ($getRows){ foreach($getRows as $row){ $fark = time() - $row->created_time; if ( $fark > 360000 OR $fark === 360000 ){ #silme işlemi kodları } } }Basit bir yol göstermesi için yazdım bunu. Cron dosyasıyla her dakika çalıştırarak kontrol edebilirsin.
Diğer ikinci yol ise mySQL ile trigger olarak aratma yaparsan detaylı bilgiler bulabilirsin.
İyi çalışmalar. - 26-02-2017, 01:01:45Hangi veritabanını kulanıyorsun bilmiyorm ama profesyonel olarak olsun istiyorsan veritabanı için event yazmalısın oda cron gibi belirlediğin zaman aralığında sql kodlarını çalıştırır. crondan tek farkı veritabanında olmasıdır