hocam dediğiniz bir yöntem olabilir ancak kategori sistemi örnek verdiğim gibi sıralı bir id ile olursa..ancak veritabanında şöyle olursa örnek olarak;

id | kat_adi | kat_id
1 | Ürünler | 0
2 | Bilgisayar | 1
3 | Donanım | 2
4 | Ekran Kartı | 3
5 | Yazıcı&Fax | 2
6 | Yazıcı | 5
7 | kartuş | 6

yani en üst kategori ürünler onun bir altında bilgisayar var ve bilgisayar kategorisinden donanım ve yazıcı&fax diye bir alt kategori açılıyor..

for döngüsünde kat_id yi çağırıp 0 dan büyükse azalt işleminde örneğin kat_id 5 ise azaltma işlemi ile kat_id si 4,3,2,1,0 olanlara işlem yapıcak...yani donanım kategoriside bu işin içine giriyo başka kategorilerde...

yanlış anlamamışımdır umarım ama bana bu şekilde olmaz gibi geldi...eğer yok çalışır bu şekilde dersen kodları yazıp bi denicem..

farklı bi düşüncesi olan arkadaş varsa yazabilirse sevinirim.