![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Nie mogę sobie poradzić z tym kodem:
template
W wyniku wyświetlają się wszystkie grupy główne (id_parent=0) i w każdej z nich podgrupa ostatniej grupy głównej. Gdy dam echo w funcji wyświetla ok, przez template jak powyżej. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%) ![]() ![]() |
Ojej,.. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
1. Pobieranie obiektów z bazy danych (nawet mowiac bardziej ogolnie - wykonwywanie jakichkolwiek zapytanian do bazy w jakimkolwiek systemie) w petli niema sesu. To tak jak bys robil zakupy, biegajac miedzy domem a sklepem z kazdym pojedynczo zakupionym towarem.. 2. Zapytanie do bazy (najlepiej jedno) tworzsz w pliku akcji komponentu. Wynikiem zapytania jest obiekt lub tablica obiektow. W templecie umieszczasz petle w ktorej wyswietlasz wyniki obiekt po obiekcie poprzez petle foreach. 3. Wazne jest utworzenie prawidlowego MODELU. Jezeli masz Grupy i Podgrupy to pownienes miec 2 tabele w bazie i 2 odpowiedajace im obiekty, 4. Odnosnie braku wyswietlania podgrup:
Zmienna $this->podgrupy jest nadpisywana przy kazdej iteracji. "Prawidlowe" rozwiazanie to:
Ten post edytował smentek 5.12.2008, 23:07:21 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Może nieco odejdę od tematu ale:
3. Wazne jest utworzenie prawidlowego MODELU. Jezeli masz Grupy i Podgrupy to pownienes miec 2 tabele w bazie i 2 odpowiedajace im obiekty, A co w przypadku gdy będzie konieczność dołożenia 3-go poziomu zagłębień? Dodasz nową tabelę? Moim zdaniem rozwiązanie problem drzewiastego menu z jedną tabelą, w której klucz obcy wskazuje na nią samą, jest najlepszym pomysłem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%) ![]() ![]() |
Cytat A co w przypadku gdy będzie konieczność dołożenia 3-go poziomu zagłębień? Dodasz nową tabelę? Masz racje tworzenie osobnych tabel moze faktycznie nie byc najlepszym rozwiazaniem, Zwlaszcza jesli struktura ma byc nieograniczona. Cytat Moim zdaniem rozwiązanie problem drzewiastego menu z jedną tabelą, w której klucz obcy wskazuje na nią samą, jest najlepszym pomysłem.[ To juz zalezy od priorytetów, ktore obrales. Od strony wydajnosci na pewno nie jest to najlepsza metoda z mozliwych. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję
Już myślałem że nikt nie odpowie. Jednak bedę zawsze budował model struktur drzewiastych w jednej tabeli. Zbieranie danych w tablicy jest rozwiązaniem tego problemu i zminiejsza ilość zapytań do bazy. Pogrzebałem trochę i staram się użyć sfPropelActAsNestedSetBehaviorPlugin do listowania takich struktur. Dzięki za pomoc Pozdrawiam Voytas |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.08.2025 - 22:30 |