Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MYSQL] Struktura drzewa - wielokrotne zagniezdzenie
xajart
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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 - 06:08