Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> generowanie drzewka z danych z mysql, * zadanie rozwiazane * slabo panowie *
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam


mam problem z wygenerowaniem kodu html takiego drzewka
http://gosu.pl/demo/mygosumenu/1.5/example1.html

kod tego drzewka:
  1. <div class="DynamicTree">
  2. <div class="top">Tree View</div>
  3.  
  4. <div class="wrap" id="tree">
  5. <div class="folder">Node 1
  6. <div class="folder">Node 1.1
  7. <div class="folder">Node 1.1.1
  8. <div class="doc"><a href="example1.html" title="Node 1.1.1.1" target="_self">Node 1.1.1.1</a></div>
  9. </div>
  10. </div>
  11. <div class="doc"><a href="example1.html">Node 1.2</a></div>
  12. </div>
  13.  
  14. <div class="doc"><a href="example1.html">Node 2</a></div>
  15. <div class="doc"><a href="example1.html">Node 3</a></div>
  16. <div class="doc"><a href="example1.html">Node 4</a></div>
  17. <div class="folder">Node 5
  18. <div class="doc"><a href="example1.html">Node 5.1</a></div>
  19. <div class="doc"><a href="example1.html">Node 5.2</a></div>
  20. </div>
  21.  
  22. </div>
  23. </div>


a kolumny w tabeli mam takie:
ID | nazwa | childs

childs wskazuje ile jest podkategorii

poki co zrobilem cos takiego
  1. <?php
  2. $wynik = '';
  3.  
  4. foreach($drzewo->getNodes() as $klucz=>$war){
  5.  
  6. if($war['childs'] > 0){
  7. $wynik .= '<div class="folder"> '.$war['nazwa'];
  8. }
  9. if($war['childs'] == 0){
  10. $wynik .= '<div class="doc"> '.$war['nazwa'].'</div>
  11. ';
  12.  
  13. }
  14. }
  15.  
  16. $wynik .= '</div></div>';
  17.  
  18. echo $wynik;
  19. ?>


ale wiadomo - nie dziala,
ma ktos pomysl jak to zorganizowac?

Ten post edytował AxZx 25.02.2006, 18:42:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tiraeth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Najlepiej w bazie trzymać id, kategorię oraz id_matki

Taki przykładzik, przerób sobie tak jak potrzebujesz:

  1. <?php
  2. $connect = mysql_connect('host', 'user', 'pass');
  3. mysql_select_db('baza', $connect);
  4.  
  5. function liczby($liczba, $i = 0)
  6. {
  7.  $res = mysql_query("SELECT * FROM tabela WHERE motherid = ".$liczba);
  8.  while($row = mysql_fetch_assoc($res))
  9.  {
  10. echo ($liczba == 0) ? '<b>' : '';
  11.  
  12. for($a=0; $a<$i; $a++)
  13. {
  14.  echo '...';
  15. }
  16. echo $row['title'];
  17. echo ($liczba == 0) ? '</b>' : '';
  18. echo '<br />'."\n";
  19. liczby($row['id'], $i+1);
  20.  }
  21. }
  22.  
  23. liczby(0);
  24. ?>


Przykładowy wynik:
Kod
<b>Kategoria 1</b><br />
...Podkategoria 3/1<br />
......Podkategoria 5/3<br />
<b>Kategoria 2</b><br />
...Podkategoria 4/2<br />


Potem możesz sprawdzać czy dla X czy jakiś rekord ma właśnie motherid ustawione na ten X i jezeli tak to wyswietlasz ikonke folderu, inaczej ikonke normalną (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 9.10.2025 - 11:14