![]() |
![]() ![]() |
![]() |
![]()
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,..
![]() 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 -------------------- .:SMENTEK:.
|
|
|
![]()
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. -------------------- .:SMENTEK:.
|
|
|
![]()
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: 22.08.2025 - 06:46 |