fonksiyonu class içinde kullanma
şö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.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!