ďťż
Podstrony
|
telcocafeWitajcie mam tak i problem tworze coś ala mały katalog stron WWW. W bazie Mysql mam tabele kategorie_drzewo o polach :IDKategorii,NazwaKategorii,Parent Kilka przykładowych rekordów : 1 | Języki programowania |0 2 | Programowanie obiektowe | 1 3 | Programowanie strukturalne | 1 4 | Pascal |3 5| C++ | 2 I wszystko byłoby gdyby nie jeden problem chciałbym zrobic cos takiego żeby u góry strony pojawiało sie gdzie w drzewie kategorii znajduje się użytkownik czyli np : Języki programowania / Programowanie obiektowe / C++ I nie wiem jak to zrobić mógłby ktos mi napisać jak albo chociażpodpowiedziec . Najelpiej zeby rozwiazanie byl oszybkei i wydajne :) podpowiedź - pseudokod: $t = info o kategorii, w której aktualnie znajduje się user; $okruszki = $t['NazwaKategorii']; dopóki $t['Parent']>0 { $t = info o kategorii, której ID == $t['Parent']; $okruszki = $t['NazwaKategorii'].' / '.$okruszki; } echo $okruszki; Użytkownik bryn edytował ten post 12 luty 2007, 11:27 Szczerze mówiac twój pseudo kod nic mi nie mowi :( Oj. Cel: do zmiennej $okruszki wpisać "Języki programowania / Programowanie obiektowe / C++" Rozwiązanie:
SELECT * FROM kategorie_drzewo WHERE IDKategorii=$id_kategorii_w_ktorej_jest_uzytkownik Wynik tego zapytania zapisujesz w tablicy np. $t. ll Później do zmiennej $okruszki wpisujesz $t['NazwaKategorii'] - czyli bezpośrednio nazwę kategorii w której jest użytkownik; w tym przypadku "C++". ll Teraz robisz pętlę while - niech się wykonuje dopóki ($t['Parent'] > 0) - czyli dopóki aktualnie przetwarzana kategoria nie jest korzeniem. Wewnątrz pętli:
ll na początku zmiennej $okruszki dopisujesz "$t['NazwaKategorii'] / "; czyli w tym przypadku przy pierwszym wykonaniu pętli dopiszesz "Programowanie obiektowe / ", a przy drugim - "Języki programowania / "l I po bólu :) Ból pozostał , może wez kod mi napisz ... .przeanalizuje ot moze zajarze ... :) Będe bardzo wdzięczny a na pewno wielu innym użytkownikom sie to przyda :) |
|||
Sitedesign by AltusUmbrae. |