• 04-04-2007, 18:00:30
    #1
    Merhaba Arkadaşlar;

    04.04.2007-12:00'da mysql dbye bir veri girdik diyelim. Ertesi gün otomatik olarak 05.04.2007-12:00'de bu verileri nasıl sildirebiliriz?

    işin kısası bir veri girdiğimizde o verinin idine göre verdiğimiz tarih/saate göre nasıl sildirebiliriz.


    Yardımcı olabileceklere şimdiden tşk ederim.
  • 04-04-2007, 18:25:44
    #2
    Kurumsal PLUS
    veri tablosuna zaman field'ı ekle ve, veri yerleştirirken; time(); değerini bu alana yerleştir. her sayfada da,
    DELETE FROM tabloadi WHERE zaman < time()-86400

    sorgusunu kullanabilirsin.

    mantığı anlamışsındır umarım.
  • 04-04-2007, 18:32:20
    #3
    5-6 kere okudum anlayamadım

    Herangi bir tablo oluşturup yapabilirmisin? SQL ve PHP sini yollarsan çok makbule geçer
  • 04-04-2007, 18:46:18
    #4
    Kurumsal PLUS
    veri girdiğin tablonun adı tablo1 olsun ve veri girerken kullandığın sql komutu,
    mysql_query("INSERT INTO tablo1 (id, veri1) VALUES ($id, $veri1)");
    olsun.
    bu tabloda zaman değeri oluşturuyoruz ve veri girerken kulklandığımız komutu şöyle yapıyoruz;
    $simdikizaman = time();
    mysql_query("INSERT INTO tablo1 (id, veri1, zaman) VALUES ($id, $veri1, $simdikizaman");
    ve her sayfada,
    $zamanasimi = time()-86400;
    mysql_query("DELETE FROM tablo1 WHERE zaman < $zamanasimi");
    komutunu çalıştırıyoruz. böylece, bu günden 1 gün ve daha önceki veriler tablodan siliniyor.

    edit: bi hata yapmışım düzelttim.
  • 04-04-2007, 18:58:39
    #5
    hmm anladım time fonksiyonunu bilmiyordum.

    echo time(); dediğimde "1175702116" çıkıyor tam olarak ne oluyor yani bu rakamların ifadesi nedir?

    birde bilgiler tablosu var
    id/ad/soyad var ben buraya zaman fieldini nasıl eklerim phpmyadminden.
  • 04-04-2007, 19:11:43
    #6
    Üyeliği durduruldu
    xElectron adlı üyeden alıntı: mesajı görüntüle
    Merhaba Arkadaşlar;
    04.04.2007-12:00'da mysql dbye bir veri girdik diyelim. Ertesi gün otomatik olarak 05.04.2007-12:00'de bu verileri nasıl sildirebiliriz?
    işin kısası bir veri girdiğimizde o verinin idine göre verdiğimiz tarih/saate göre nasıl sildirebiliriz.
    Yardımcı olabileceklere şimdiden tşk ederim.

    MySQL de:

    Girisi 24 saat once yapilan verileri siler:
    Alıntı
    DELETE FROM tabloadi WHERE giristarihi < DATE_SUB(now(), INTERVAL 24 HOUR)
    Girisi 30 dakika once yapilan verileri siler:
    Alıntı
    DELETE FROM tabloadi WHERE giristarihi < DATE_SUB(now(), INTERVAL 30 MINUTE)
    Girisi 30 gun once yapilan verileri siler:
    Alıntı
    DELETE FROM tabloadi WHERE giristarihi < DATE_SUB(now(), INTERVAL 30 DAY)
    Girisi 3 ay once yapilan verileri siler:
    Alıntı
    DELETE FROM tabloadi WHERE giristarihi < DATE_SUB(now(), INTERVAL 3 MONTH)
  • 04-04-2007, 21:16:31
    #7
    Hepinize çok tşk ederim. Peki field nasıl ekleniyor?
  • 04-04-2007, 22:56:26
    #8
    Üyeliği durduruldu
    insert into kullanarak ekleyebilirsin

    örnek : $ekle = mysql_query("insert into tablo values (NULL, '$x', '$y', '$z')");
  • 05-04-2007, 12:31:30
    #9
    Kurumsal PLUS
    saintliquorice adlı üyeden alıntı: mesajı görüntüle
    insert into kullanarak ekleyebilirsin
    örnek : $ekle = mysql_query("insert into tablo values (NULL, '$x', '$y', '$z')");
    bu şekilde field değil, satır eklenir.

    phpmyadminden field eklemek için, ekleyeceğin tabloyu seçip alan ekle kısmına bakmalısın. benim dediğim gibi zaman alanı çalıştıracaksan tür olarak text seç ve boyut olarak birşey yazma, en kolayı