Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Drzewo
cornholio666
post 7.06.2007, 13:56:11
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Witam

Oto baza przechowująca dane drzewa



Korzystam z PEAR TREE i mam taki kod:

  1. <?php
  2. function tree($tree,$id){
  3.  
  4. foreach($tree->getChildren($id) as $el){
  5.  
  6.  
  7. echo "<ul>";
  8. echo "<li><a href="index.php?id=".$el["id"]."">".$el["name"]."</a></li>";
  9.  
  10.  tree($tree,$el["id"]);
  11.  }
  12.  
  13.  
  14. echo "</ul>";
  15. }
  16. }
  17.  
  18. tree($tree,10); // 10 - to root
  19. ?>


Pokazuje mi całe rozwinięte drzewo a mi chodzi o to żeby dopiero po kliknieciu w określony element drzewa wyświetlały się jego dzieci ale tylko o "jeden poziom głębokości" itd...

Jakieś wskazówki?


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
^bmb
post 7.06.2007, 15:08:29
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 2
Dołączył: 12.12.2005

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


Cytat(cornholio666 @ 7.06.2007, 12:56:11 ) *
Pokazuje mi całe rozwinięte drzewo a mi chodzi o to żeby dopiero po kliknieciu w określony element drzewa wyświetlały się jego dzieci ale tylko o "jeden poziom głębokości" itd...



- do tree wchodzi parametr strony kliknietej

- sprawdzasz w petli parenty stron dopoki nie bedzie parent 10(root), a kolejne id stron z tej galezi wrzucasz do tablicy

- przy wyswietlaniu drukujesz tylko caly pierwszy poziom a podczas kolejnych poziomow sprawdzasz czy ich id jest w tablicy (in_array) i tylko w takim przypadku pokazujesz.

Mam nadzieje ze w miare jasno to przedstawilem


--------------------
Cogito Ergo Sum
Go to the top of the page
+Quote Post
cornholio666
post 10.06.2007, 11:39:26
Post #3





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Coś nie mogę sobie poradzić:

  1. <?php
  2. function tree($tree,$id){
  3.  
  4. $ParentsIDs = $tree->getParentsIds($id); // tablica z ID parentów
  5.  
  6. echo "<ul>";  
  7.  
  8.  foreach($tree->getChildren($id) as $el){
  9.  
  10.  
  11.  echo "<li><a href="index.php?id=".$el["id"]."">".$el["name"]."</a></li>";
  12.  
  13. if(in_array($el["id"],$ParentsIDs)){
  14.  
  15. tree($tree,$el["id"]);
  16. }
  17.  
  18.  
  19. }
  20.  
  21. echo "</ul>";
  22.  }
  23. ?>


Wydaje mi się że tu jest źle:

  1. <?php
  2. foreach($tree->getChildren($id) as $el){
  3. ?>


Nie wiem jak zrobić żeby za każdym razem czytał mi od roota i schodził w dół


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:16