Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Proste drzewko ... ale jak zrobić?
Gligamesh
post
Post #1





Grupa: Zarejestrowani
Postów: 227
Pomógł: 0
Dołączył: 13.06.2003
Skąd: rykowice

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


Witam

chce stworzyć proste drzewo:

grupa 1
- podmiot1
- podmiot1
- podmiot1
grupa2
- podmiot2
- podmiot2

etc.

ma to być szybkie i łatwe w edycji, na początek zrobiłem cos takiego

  1. <?php
  2. $userzy = array(
  3. 'grupa1' => array('user1','user2'), 
  4. 'grupa2' => array('user3')
  5. );
  6.  
  7.  
  8. foreach($userzy as $nazwa => $grupa)
  9. {
  10. echo $nazwa;
  11. foreach($grupa as $user)
  12. echo $user;
  13. }
  14. ?>


sa to moje pierwsze kroki z "takim czortem" więc problem pojawił sie gdy chciałem dodać drugą wartość (czyli podmiot 1 wartosc1) do podmiotu, inaczej mówiąc jak mam to zrobić ? i czy dobrze to robie (może sa lepsze sposoby).

Ten post edytował Gligamesh 22.06.2007, 16:28:31
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%)
-----


  1. <?php
  2. $aTree = array(
  3. array('id' => '0', 'title' => 'Grupa 1', 'motherid' => ''),
  4. array('id' => '1', 'title' => 'Grupa 2', 'motherid' => ''),
  5. array('id' => '3', 'title' => 'Podmiot 1-1', 'motherid' => '0'),
  6. array('id' => '4', 'title' => 'Podmiot 1-2', 'motherid' => '0'),
  7. array('id' => '5', 'title' => 'Podmiot 1-1-1', 'motherid' => '3'),
  8. array('id' => '6', 'title' => 'Podmiot 2-1', 'motherid' => '1')
  9. );
  10.  
  11. function print_tree($array, $id = '', $level = 0, $sp = '-') {
  12. foreach ( $array as $aItem ) {
  13. if ( $aItem['motherid'] == $id ) {
  14. for ( $i = 0; $i < $level; $i++ ) {
  15. $s .= $sp;
  16. }
  17. echo $s . ' ' . $aItem['title'] . '<br />';
  18.  
  19. print_tree($array, $aItem['id'], $level+1);
  20. }
  21. }
  22. }
  23.  
  24. print_tree($aTree);
  25. ?>


Masz, Zdzisio (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Result:
Kod
Grupa 1
- Podmiot 1-1
-- Podmiot 1-1-1
-- Podmiot 1-2
Grupa 2
- Podmiot 2-1


Program nie działa dokładnie, jest błąd związany z iteratorem poziomu ($level) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Popraw sobie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Mnie się nie chce teraz sprawdzać, pisane z palca, testowałem i działa (w miarę...)
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: 3.10.2025 - 10:56