Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rysowanie drzewka tabeli PHP+MySQL
kraks
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.06.2008

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


Witam, bardzo prosze o pomoc. Mam jedna tabele o nazwie schemat_dzialow a w niej 3 pola "id_dzialu", "id_dzialu_nadrzednego" i "nazwa". Wypelnilem rekordy tej tabeli zgodnie ze schematem organizacyjnym, co wyglada mniej wiecej tak:

"id" "id_dzialu_nadrzednego" "nazwa"
1 1 Zarzad
2 1 Dzial1
3 1 Dzial2
19 1 Dzial3
9 1 Dzial4
11 19 Dzial5
12 19 Dzial6
13 19 Dzial7
27 9 Dzial9
28 9 Dzial10
29 9 Dzial11
10 1 Dzial12
7 1 Dzial13
20 7 Dzial14
21 7 Dzial15
22 7 Dzial16

Taki wyglad dzialow przedstawiony w tabeli z nazwa, numerem id i id rodzica nie jest zbyt czytelny dlatego chcialbym narysowac drzewko tej tabeli. Drzewko moze byc narysowane od razu w calosci lub posiadac funkcje zwijania/rozwijania poszczegolnych galezi np znakami + i - na zasadzie np "Dzial13 (+) (-)". Dodam jeszcze ze tabela jest mala, posiada okolo 30 dzialow wiec jakies funkcje zwiekszajace wydajnosc chyba nie sa potrzebne, wystarczy prosta metoda przynajmniej tak mi sie wydaje. Jeszcze raz prosze o pomoc i z gory dziekuje, pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Robisz prostą funkcję rekurencyjną.

Tak w uproszczeniu - pseudokod (żebyś zrozumiał działanie)

  1. <?php
  2. function rysuj_drzewo($parent)
  3. {
  4.  $dane = mysql_query( select * from tabela where id_dzialu_nadrzednego == $parent )
  5.  
  6.  $dane = mysql_fetch_object($dane)
  7.  
  8.  tutaj wy&#347;wietlam listę.
  9.  
  10.  rysuj_drzewo($dane->id)
  11.  
  12. }
  13.  
  14. rysuj_drzewo(1)
  15. ?>


Ten post edytował radex_p 20.06.2008, 07:36:06
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 07:18