Na wstępie troche kodu a potem będę się tłumaczył

<?php function CatName($cat_id) { $sql = "SELECT cat_name FROM cat WHERE cat_id = $cat_id"; if ($cat_id<>0) { $db->DoSql($sql); } else return NULL; } function CatRoot($cat_id) { $sql = "SELECT cat_root FROM cat WHERE cat_id = $cat_id"; if($cat_id<>0) { $db->DoSql($sql); } else return NULL; } ?>
CatName - zwraca nazwę kategorii
CatRoot - zwraca ID nadrzędnej kategorii
$cat_id - zmienna ID aktualnie wybranej kategorii
CREATE TABLE cat ( cat_id Int NOT NULL AUTO_INCREMENT, cat_root Int NOT NULL, cat_name Varchar(15) NOT NULL, cat_desc Varchar(80), UNIQUE (cat_id), PRIMARY KEY (cat_id)) ENGINE = MyISAM;
cat_id - wiadomo

cat_root - przechowuje ID nadrzednej kateogrii (kategoria glowna = 0)
cat_name - nazwa kategorii
cat_desc - opis :]
*****************************************************
No to jedziem

Bylem taki madry i udalo mi sie zrobic funkcje ShowPath($cat_id), ktora to ma za zadanie wyswietlenie takiego czegos (przyklad)
Start -> Kategoria 1 -> PodKategoria 1 -> Podkategoria 2 ... n i tak w kółko

Niestety skończyło mi to działać na Podkategori 1.. wygladalo co mniej wiecej tak:
<?php $root = CatRoot($cid); if(($cid==0)and($root==0)) elseif(($cid<>0)and($root==0)) elseif(($cid<>0)and($root<>0)) ?>
co oczywiscie nie rozwiazuje problemu bo podkategorii moze byc duuuzo, oczywiscie podkategoria staje sie kategoria o ile ma podkategorie

po usilnych probach z while { } i do..while { } doszlem do wniosku ze intrukcje w warunkowe w php sa... za nic nie moge ujarzmic tego jak to zrobic.. 3 godzinki siedze i oczy wypalam probojac roznych opcji.. jeśli ktos bedzie taki mily i napisze mi tego while`a to bede wdzieczny bardzo

z gory dziękuję i pozdrawiam

Marcin