![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 1 Dołączył: 2.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Opracować musze drzewo o wielokrotnym zagniezdzeniu, jednak mi to nie wychodzi - pewnie z braku wiedzy w dziedzinie php. Mam tabele w takiej formie Id | sub | poziom | pozycja | name 3. | 0 | 0 | 1 | A 2. | 1 | 1 | 1 | B 1. | 2 | 2 | 2 | C 4. | 2 | 2 | 1 | D 5. | 1 | 1 | 1 | E 6. | 0 | 0 | 0 | F Struktura powinna wobec tego wyglądać tak: A. - B -- D -- C - E FRozpisałem sobie taki algorytm Kod for ($i=1; $i<=$rows; $i++){ echo $id[$i]; $t[] = NULL; for ($j=1; $j<=rows; $j++){ if ($sub[$j] == $id[$i] AND $sub[$j] != t[$j]){ for ($k=0; $k<=count($t);$k++){ echo $id[$j]; $t[$j] == $id[$j] } } } } Niestety kod nie działa tak jak zamierzałem, z racji że nie wiem jak zdefiniować te tabele, bo mają pełnić one role taką że jeżeli znajdzie element w pętli J i wyświetli dany element, to ID tego elementu powinno zostać zapisane w BD, by algorytm mógł je pominąc przy kolejnym sprawdzaniu sprawdzaniu. Tylko. Zaś jak przejdzie do inkrementacji I to tabela powinna zostać wyczyszczona. Nie wiem czy dobrze rozumuje, prosiłbym was o pomoc z rozwiązaniem tego, bo sobie nie potrafie z tym dać rady, co do powyższych tabel, to opcjonalnie powinno wystarczyć id i sub alternatywnie poziom określa poziom zagłębienia 0 - główne, 1 -pz pierwszy, 2 - pz drugi itd. W sumie to zależy mi do zagłębienia do poziomu 3, ale jeżeli by realizowało to więcej zagłębień było by bardziej przyszłościowe, bym za pare miesięcy nie musiał się zastanawiać jak 4 poziom czy 5 zrealizować. Ten post edytował xajart 23.01.2009, 11:21:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:08 |