Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> drzewko katalogowe
gorodok
post 11.04.2007, 08:29:29
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.04.2007

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


Witam!

Być może ten temat już był poruszany ale...
Zadanie:
Mamy plik tekstowy z danymi w postaci node_id|parent_id|node_name
parent_id - id rodzica, 0 - korzeń.

Przykładowy plik

1|0|Electronics
2|0|Video
3|0|Photo
4|1|MP3 player
5|1|TV
6|4|iPod
7|6|Shuffle
8|3|SLR
9|8|DSLR
10|9|Nikon
11|9|Canon
12|11|20D


Należy wczytać plik i wyświetlić w postaci drzewka katalogowego czyli pierwszy poziom - jeden odstęp, drugi poziom - dwa i td.

Więc wymyśliłem taki oto sposób:
  1. <?php
  2. function tree($id,$list)
  3. {
  4.  if ($list[$id]['name'] != '')
  5.  {
  6. echo '<dt>'.$list[$id]['name'];
  7.  }
  8.  if ($list[$id]['child'])
  9.  {
  10. foreach ($list[$id]['child'] as $key => $value)
  11. {
  12.  echo '<dl>';
  13.  tree($key,$list);
  14.  echo '</dl>';
  15. }
  16.  }
  17. }
  18.  
  19. $fp = fopen('tree.txt', 'r');
  20. $list = array();
  21.  
  22. while(!feof($fp))
  23. {
  24.  $current_line = fgets($fp);
  25.  list($id, $pid, $name) = split('|',$current_line);
  26.  
  27.  if ($id != '')
  28.  {
  29. $list[$id] = array(
  30. 'name' => $name,
  31. 'child' => array()
  32. );
  33. $list[$pid]['child'][$id] = $id; 
  34.  
  35.  }
  36. }
  37. fclose($fp);
  38.  
  39. tree(0,$list);
  40. ?>


Proszę o opinie...
Go to the top of the page
+Quote Post
timon27
post 15.04.2007, 12:43:32
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


mintAjax
Go to the top of the page
+Quote Post
Athlan
post 15.04.2007, 14:20:55
Post #3





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


http://mintajax.pl/?manual&item=mint.g...reateTreeWidget
http://mintajax.pl/?manual&item=TreeWidget
http://mintajax.pl/?manual&item=TreeItem

Przykład:
http://mintajax.pl/?guide#kontrolki_drzewko

Download:
http://mintajax.pl/distr/mintAjax.zip

Zaimplementuj takie coś jeżeli koniecznie chcesz w php smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
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: 27.06.2025 - 10:14