v2.5.2
Giriş yap

fonksiyonu class içinde kullanma

hasaneryilmaz
501 defa görüntülendi

şöyle bir veritabanı yapım var

dbname = kategoriler

sira | katadi | ustkatno
1 anakategori 0
2 haber 0
3 son dakika 2
4 yerel haber 2
5 afyonkarahisar 4
6 emirdağ 5
7 eskişehir 4
8 mahmudiye 7
9 denizli 4
10 pamukkale 9

veritabanını sınırsız kategori mantığıyla yaptım.
ustkatno ile birbirine bağlı ve ustkatno su 0 olan kategoriler ana kategori oluyor. diğerleri ustkatno da ne yazıyorsa onun alt kategorisi.

bunu silmek için şimdiki kullandığım kod aşağıda kod silinen kategorinin alt kategorisi var mı diye bakıp alt kategorilerinide siliyor.

mesela

-haber
--yerel
---afyon
----emirdağ

kategori sırasında yerel kategorisini silinde afyon ve emirdağı da siliyor.



	function katbull($par=0,$kategorri=0)
		{
			
			$kategorisiz = 0;
			
			$kategorilistele=$GLOBALS["baglan"]->prepare("SELECT * FROM kategoriler WHERE ustkatno= ? ");
			$kategorilistele->execute(array($par));
			
			foreach($kategorilistele as $kategorii)
			{
				
				$kategorisil=$GLOBALS["baglan"]->prepare("DELETE FROM kategoriler WHERE sira= ? ");
				$kategorisil->execute(array($kategorii["sira"]));
				
			
				katbull($kategorii["sira"],$kategorri);
				
			}
			$kategorisill=$GLOBALS["baglan"]->prepare("DELETE FROM kategoriler WHERE sira= ? ");
			$kategorisill->execute(array($par));
			
			
			return true;
		}
		
		
		
			
			
		
		if(katbull($sira))
		{
			?>
			<div class="alert alert-success">
				<strong>Başarıyla Silindi !</strong>Seçtiğiniz Başarıyla Silindi....
			</div>
			<script type="text/javascript">
			window.open("index.php?menu=kategoriler","_top");
			</script>
			<?php
			
			
		}

ben bu sistemi class içinde nasıl kullanabilirim.

ben şu şekilde kullandım.



    public function delete($par)
    {
        $kategorilistele=$this->prepare("SELECT * FROM kategoriler WHERE ustkatno= ? ");
        $kategorilistele->execute(array($par));
        foreach($kategorilistele as $kategorii)
        {
            $kategorisil=$this->prepare("DELETE FROM kategoriler WHERE sira = ? ");
            $kategorisil->execute(array($kategorii["sira"]));
            $this->delete($kategorii["sira"]);
        }
        $kategorisill=$this->prepare("DELETE FROM kategoriler WHERE sira= ? ");
        $kategorisill->execute(array($par));
        return true;
    }

bu kodu kullanınca kategoriler tablosundaki tüm kayıtları siliyor.

nasıl bir yapı kullanabilirim.

Cevap yaz
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!