• 01-05-2020, 15:47:29
    #1
    Merhaba arkadaşlar aşağıdaki iki tablodan kategori_id= 825 olan verileri silmem gerekiyor. Ne varki basliklar_yedek tablosunda kategori bilgisi var ancak entryler_yedek tablosunda sadece baslik_id mevcut.

    DELETE FROM basliklar_yedek WHERE kategori_id= 825

    Yukarıdaki sorguyu çalıştırdığımda basliklar_yedek tablosundaki istemediğim başlıklar siliniyor ne varki bu defa entryler_yedek kısmındaki veriler kalıyor. İki sorguyu kombine etmek lazım sanırım. Yardımcı olabilirseniz memnun olurum.

    DELETE FROM entryler_yedek WHERE baslik_id=829340




  • 01-05-2020, 16:04:40
    #2
    entryler_yedek sql'inin içinde baslik_id'i basliklar_yedek dosyasindaki veriyle eş bulunuyor, direk silme işlemi yaparsan sadece 1 tarafın verisi silme işlemi uygulaması dogal
    , kısaca entryler_yedek verilerini SELECT'le listelettir, döngü içinde baslık_id tanımlama saglayip, döngü içinde bir DELETE işlemi uygulayabilir veya bir function'la 2 veriyide sildirtebilirsin
  • 01-05-2020, 16:08:55
    #3
    Setaeg adlı üyeden alıntı: mesajı görüntüle
    entryler_yedek sql'inin içinde baslik_id'i basliklar_yedek dosyasindaki veriyle eş bulunuyor, direk silme işlemi yaparsan sadece 1 tarafın verisi silme işlemi uygulaması dogal
    , kısaca entryler_yedek verilerini SELECT'le listelettir, döngü içinde baslık_id tanımlama saglayip, döngü içinde bir DELETE işlemi uygulayabilir veya bir function'la 2 veriyide sildirtebilirsin
    Bu dediklerini yapabilecek olsam sanırım başlık açmazdım. Yukarıdaki bilgilere göre zor bir iş değilse sorguyu hazırlayıp verirsen çok iş görecek
  • 01-05-2020, 16:44:07
    #4
    LeViS adlı üyeden alıntı: mesajı görüntüle
    Bu dediklerini yapabilecek olsam sanırım başlık açmazdım. Yukarıdaki bilgilere göre zor bir iş değilse sorguyu hazırlayıp verirsen çok iş görecek

    <?php
    
    //Veri baglantisi
    try {
    
    $db=new PDO("mysql:host=localhost;dbname=veri;charset=utf8",'root','sifre');
    
    echo "Veritabanı bağlantısı başarılı";
    
    } catch (PDOExpception $e) {
    
    echo $e->getMessage();
    }
    
    //Veri baglantisi sonu
    
    
    //Baslik id ekleme, silinecek veriyi sec
    $silinecekbaslik = 1;
    
    //verileri listeleme
    
    $veri=$db->prepare("SELECT * FROM entryler_yedek where baslik_id=:id");
    $veri->execute(array(
    'id' => $silinecekbaslik
    ));
    $vericek=$veri->fetch(PDO::FETCH_ASSOC);
    
    //id tanımlama
    $baslik_id = $vericek['baslik_id'];
    
    //baslik_yedek verisinden veriyi silme
    $sil=$db->prepare("DELETE from baslik_yedek where id=:id");
    $kontrol=$sil->execute(array(
    'id' => $baslik_id
    ));
    if ($kontrol) {
    echo "baslik_yedek veri silindi.";
    }
    
    //entryler_yedek veriyi silme.
    $sil=$db->prepare("DELETE from entryler_yedek where baslik_id=:id");
    $kontrol=$sil->execute(array(
    'id' => $silinecekbaslik
    ));
    if ($kontrol) {
    echo "entryler_yedek veri silindi.";
    }
    
    ?>
  • 01-05-2020, 19:50:11
    #5
    Setaeg adlı üyeden alıntı: mesajı görüntüle
    <?php
    
    //Veri baglantisi
    try {
    
    $db=new PDO("mysql:host=localhost;dbname=veri;charset=utf8",'root','sifre');
    
    echo "Veritabanı bağlantısı başarılı";
    
    } catch (PDOExpception $e) {
    
    echo $e->getMessage();
    }
    
    //Veri baglantisi sonu
    
    
    //Baslik id ekleme, silinecek veriyi sec
    $silinecekbaslik = 1;
    
    //verileri listeleme
    
    $veri=$db->prepare("SELECT * FROM entryler_yedek where baslik_id=:id");
    $veri->execute(array(
    'id' => $silinecekbaslik
    ));
    $vericek=$veri->fetch(PDO::FETCH_ASSOC);
    
    //id tanımlama
    $baslik_id = $vericek['baslik_id'];
    
    //baslik_yedek verisinden veriyi silme
    $sil=$db->prepare("DELETE from baslik_yedek where id=:id");
    $kontrol=$sil->execute(array(
    'id' => $baslik_id
    ));
    if ($kontrol) {
    echo "baslik_yedek veri silindi.";
    }
    
    //entryler_yedek veriyi silme.
    $sil=$db->prepare("DELETE from entryler_yedek where baslik_id=:id");
    $kontrol=$sil->execute(array(
    'id' => $silinecekbaslik
    ));
    if ($kontrol) {
    echo "entryler_yedek veri silindi.";
    }
    
    ?>
    Kardeşim eline sağlık uğraşmışsın. Fakat bilmiyorum ben mi yanlış yazdım konunun başında belirttiğim gibi belirli bir kategoriye ait olan başlıkları ve o başlığa yazılı yorumları silmek istiyorum. Yazdığın kodlar arasında kategori_id= göremedim?..
  • 04-05-2020, 13:33:20
    #6
    delete from entry_yedek where baslik_id in (
    select baslik_id from basliklar_yedek where kategori = 285
    );
    
    delete from basliklar_yedek where kategori = 285