• 11-02-2009, 12:59:56
    #1
    Üyeliği durduruldu
    mysqlimde y adında tablo var diyelim. her gün yada 2 günde bir gibi boşaltılmasını istiyorum nasıl yapabilirim arkadaşlar.

    dersenizki ücretli kodlanır onada razıyım. şimdiden teşekkürler. php bilgim maalesef oldukça az
  • 11-02-2009, 14:16:28
    #2
    bu kategori içerisinde ersatın mesajlarının tamamına bak başka bir konu için ama senin işine yarayacak kodlar yayınlandı diye hatırlıyorum

    arama kaydetme ile ilgili bir konuydu
  • 11-02-2009, 14:29:00
    #3
    işin mantığını anlatmak gerekirse;

    sayfanın header kısmına

    ayın gününü 2 ye böl eğer kalan sıfır ise TRUNCATE `y` komutunu uygula

    böylece header kısmı sitenin sabit kısmı olduğundan if döngüsü her sayfa açılışında çalışıp ayın gününü 2ye bölecek kalan 0 ise y tablosunu boşaltıcak kalan 1 ise işlem yapmayacaktır
  • 11-02-2009, 15:33:21
    #4
    Üyeliği durduruldu
    sunucuya cron tanımlanarak yapilir en iyi. yoksa 2 günde bir kere çalışacağı için bi yerlere gün flag atmanız gerekir.

    ama x.php gibi bir sayfaniz olur içinde delete from tablo sql i olur. temizler
  • 11-02-2009, 15:39:34
    #5
    bence bir mysql tablosu oluştur. bunun üzerinden denetle günleri;
    bir tablo oluşturalim adi zamantablo
    bu tabloda ID ve zaman sütunlari olsun;
    <?php
    $simdi = time(); //şu an
    $sonsql = mysql_query("select * from zamantablo order by id desc limit 1") or die (mysql_error());
    $son = mysql_result ($sonsql,0,"zaman"); //son işlem zamanini cektik
    $silinecekzaman = $son + 172800; //son işlem zamanina saniye cinsinden 2 gün ekledik
    if ($silinecekzaman <= $simdi) { // eger bu deger bugünden küçük veya eşit ise
    	//Tablo boşaltma işlemi 
    	$silsql = mysql_query("TRUNCATE TABLE bosaltilacak_tablo")  or die (mysql_error());
    	//tabloya sildigimiz zamani giriyoruz 2 gün sonra tekrar kullanmak için
    	$sqlgir =  mysql_query("INSERT INTO zamantablo (zaman) VALUES('$simdi')") or die (mysql_error());
    }
    ?>
    örnek kod kodlarin ne işe yaradigini yanlarina yazdim. mantik olarak en son silme işleminin zamanini sql e giriyoruz daha sonra sayfa her acildiginda bu kontrolü yapiyoruz. bu kontrol'de son silme işlemine 2 gün(saniye cinsinden) ekliyor ve bu yeni oluşan deger ile bugünkü degeri kiyasliyor eger bu deger küçük veya eşit ise aradan 2 gün geçmiş demektir. silme işlemini yapiyor ve bugünün zamanina db ye kayit ediyor. daha sonra her 2 günde bir bu işlem devam ediyor

    NOT : kodu denemedim önce önemsiz bir tablo üzerinde test edebilirsiniz
  • 11-02-2009, 15:46:42
    #6
    Platin üye
    Bu kodu deneyebilirmisin ?
    <?php
    $dbbaglan= mysql_connect("localhost","db_kullanici_adi","db_sifre") or die ("Baglanti Kurulamadi.");
    mysql_select_db("y",$dbbaglan);
    $sorgu = mysql_query(" TRUNCATE TABLE `y`");
    $cikti=mysql_query($sorgu, $dbbaglan);
    echo "Tablo boşaltıldı.";
    ?>
  • 11-02-2009, 15:48:30
    #7
    Üyeliği durduruldu
    Onurss adlı üyeden alıntı: mesajı görüntüle
    Bu kodu deneyebilirmisin ?
    <?php
    $dbbaglan= mysql_connect("localhost","db_kullanici_adi","db_sifre") or die ("Baglanti Kurulamadi.");
    mysql_select_db("y",$dbbaglan);
    $sorgu = mysql_query(" TRUNCATE TABLE `y`");
    $cikti=mysql_query($sorgu, $dbbaglan);
    echo "Tablo boşaltıldı.";
    ?>
    verdiginiz kod zaten tabloyu boşaltır ama 2 günde bir olduğuna göre lacremel in yaklaşımı uygun. ama en sagliklisi cron tanimlamak. boş yere koda fazladan 1 sorgu eklenmemiş olur. ve peryodik düzenli calisir
  • 11-02-2009, 16:17:11
    #8
    Üyeliği durduruldu
    herkese öncelikle teşekkürler

    Onurss'un dediği gibi bişi arıyorum sayılır. yani bir php kodları istediğim tabloyu boşaltsın cpanelden de o php dosyasına cron ekleyim (daha önce hiç yapmadım ama sanırım olur)

    kısaca Onurss seninkini deneyip sonucu yazıcam teşekkürler.
  • 11-02-2009, 17:22:39
    #9
    Üyeliği durduruldu
    Warning: You need to have a good knowledge of Linux commands before you can use cron jobs effectively. Check your script with your hosting administrator before adding a cron job.


    yazısı yüzünden ekleyemiyorum cron sayfasında yazıyor.


    yoksa Onurss'un php kodu çalıştı.


    crona ekleme kaldı