Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ArrayObject na drzewo
craker
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


Witam,
posiadam taką strukturę zorganizowaną na ArrayObject:

Kod
Array{
[0] => array { [0] => "INDEX", [1] => "Opis", ['children'] => array() },
[1] => array { [0] => "INDEX.Temp", [1] => "Opis 1", ['children'] => array() },
[2] => array { [0] => "INDEX.Kosz", [1] => "Opis 2", ['children'] => array() },
[3] => array { [0] => "INDEX.Temp.wolne", [1] => "Opis 3", ['children'] => array() },
[4] => array { [0] => "INDEX.Temp.wolne1", [1] => "Opis 4", ['children'] => array() },
[5] => array { [0] => "INDEX.Temp.wolne.wolne3", [1] => "Opis 5", ['children'] => array() },
[6] => array { [0] => "INDEX.Temp.wolne.wolne4", [1] => "Opis 6", ['children'] => array() },
}


i teraz tak, INDEX, INDEX.Temp i INDEX.Kosz to są główne gałęzie natomiast INDEX.Temp.* to są dzieci

teraz chciałbym osiągnąć taką strukturę:

Kod
Array{
[0] => array { [0] => "INDEX", [1] => "Opis", ['children'] => array() },
[1] => array { [0] => "INDEX.Temp", [1] => "Opis 1", ['children'] => array(
                                                           [0] => array { [0] => "INDEX.Temp.wolne", [1] => "Opis 3", ['children'] => array(
                                                                                     [0] => array { [0] => "INDEX.Temp.wolne.wolne3", [1] => "Opis 5", ['children'] => array() },
                                                                                     [1] => array { [0] => "INDEX.Temp.wolne.wolne4", [1] => "Opis 6", ['children'] => array() }) },
                                                            [1] => array { [0] => "INDEX.Temp.wolne1", [1] => "Opis 4", ['children'] => array() } ) },
[2] => array { [0] => "INDEX.Kosz", [1] => "Opis 2", ['children'] => array() },


}



i mam problem jak zrobić takie drzewo questionmark.gif oczywiście zagłębienia w INDEX.Temp.wolne, INDEX.Temp.wolne3 można tworzyć w głąb jeszcze.

Samą główną strukturę i pierwsze zagłębienie potrafię zrobić, ale mam problem z wewnętrznymi zagłębieniami, ponieważ zagłębienie jest tworzone w oparciu o początkowe wartości czyli te po INDEX, albo INDEX.Temp, INDEX.Kosz i w zależności ile jest członów po INDEX albo po INDEX.Temp to tyle się tworzy zagłębień


Proszę o pomoc

ewentualnie zamiast indeksów 0, 1, 2 itp moge dać nazwy, czyli INDEX, INDEX.Kosz itp itd smile.gif


--------------------
narazie brak sygnaturki
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Pakujesz wszystkie rekordy do tablicy pod indeksem rownym "INDEX.Temp" itd
Potem przegladasz wszystkie rekordy raz jeszcze, dla kazdego z nich znajdujesz "id" rodzica, np. "INDEX", pobierasz tego rodzica z poprzedniej tabeli i dokladasz do niego jako kolejne dziecko. Na koniec bierzesz glowny wezel (roota) i masz cale drzewo.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
craker
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


@belliash tak musi być, bo to jest podstawowa struktura katalogów jaką pobieram z IMAP'a

@dr_bonzo a możesz jakiegoś gotowca zasunąć questionmark.gif smile.gif

czy mógłby mi ktoś pomoć questionmark.gif to jest bardzo ważne i potrzebne mi


--------------------
narazie brak sygnaturki
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@craker: nie mam czasu na gotowca. Mam inne wazne i potrzebne rzeczy na glowie.

Po prostu przegladasz wszstkie elementy dla kazdego znajdujesz rodzica i dokladasz go jako dziecko tego rodzica - poprzedni post opisywal implementacje tego.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
craker
post
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 7.07.2006

Ostrzeżenie: (0%)
-----


przecież dla Ciebie to 10 minut pisania a ja będę siedzieć ze dwa dni i tak pewnie mi nie wyjdzie

nikt się na tym nie zna naprawdę questionmark.gif


--------------------
narazie brak sygnaturki
Go to the top of the page
+Quote Post
kwiateusz
post
Post #6


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




zna, ale nie każdy będzie nad tym siedział bo Ci sie nie chce, poświęcisz 2 dni ale sie czegoś chociaż nauczysz, dla gotowców jest giełda ofert
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 09:56