v2.5.2
Giriş yap

herşeyi siliyor

hasaneryilmaz
648 defa görüntülendi

class Name {


    public function delete($par=0)
    {
        $Namelistele=$this->prepare("SELECT * FROM name WHERE ustsayfa= ? ");
        $Namelistele->execute(array($par));
        foreach($Namelistele as $Namei)
        {
            $Namesil=$this->prepare("DELETE FROM name WHERE psira = ? ");
            $Namesil->execute(array($Namei["psira"]));
            $this->delete($Namei["psira"]);
        }
        $Namesill=$this->prepare("DELETE FROM name WHERE psira= ? ");
        $Namesill->execute(array($par));
        return true;
    }


}


bu fonksiyonu içine değer verip çalıştırdığımda tablodaki tüm kayıtları siliyor.
nedeni ne olabilir sizce?

hasaneryilmaz
1382 gün önce

şimdi şöyle bir tablom var adı tablo_1 olsun bu taploda psira (int-primarykey) , title adlı bir varchar(50) , ustsayfa (int) var

tablo içerkleri şöyle

1 sayfa 0
2 sayfa2 0
3 sayfa1 1
4 sayfa2 3

gibi alt alta sayfalama olarak düşünebiliriz.

ben bir tane sayfayı silince fonksiyonun bu sayfanın alt sayfalarınıda silmesini istiyorum.

mesela psira sı 1 olan sayfa yı silince sisten ustsayfası 1e bağlı olan sayfaları da silsin buna bağlı olarak onun alt sayfalarınıda silsin
örnek sayfa silinince , sayfa1 ve sayfa2 de silinsin

yukardaki çıktı şöyle

-sayfa
--sayfa1
---sayfa2

-sayfa2