Witam!

Piszę menu o strukturze dzrewiastej oparte na MySQL, samą idee rozwiązania przyznam znalazłem w książce, ale nie o tym. Otóż menu oparte jest jak się dowiedziałem na dość często wykorzystywanej strukturze, mianowicie: każdy rekord posiada rodzica w tabeli -

id | parent_id | name |
--------------------------
1 0 Nazwa
2 1 PodNazwa

itd.

Samą strukture całego drzewa jest dośc prosto wypisać, zrobiłem to takim oto prostym skryptem:

  1. <?php
  2. //... połączenie z bazą
  3. function pokaz($id) {
  4. global $wciecie;
  5. $wciecie++;
  6.  
  7. $wynik = mysql_query("SELECT * FROM pages WHERE parent_id = '$id' ORDER BY id ASC");
  8.  while($dane = mysql_fetch_array($wynik)) {
  9.  
  10.  $odstep = str_repeat(" ", $wciecie-1);
  11.  print''.$odstep.'<a href=tree_menu.php?CID='.$dane['id'].'>'.$dane['name'].'</a>';
  12.  pokaz($dane["id"]);
  13. }
  14. $wciecie--;
  15. }
  16.  
  17. pokaz(0);
  18. ?>


Natomiast potrzebuję menu które rozwija gałęzie dopiero po kliknięciu na link który zawiera w sobie 'dzieci', tak jak jest np. w menu głównym na stronie ILZA.INFO

Czy macie pomysły jak to zrealizować, czego się trzyamać przy wypisywaniu tylko tych rekordów które są potrzebne w danej chwili? Próbowałem wielu sposobów ale hmm... powiedzmy że nie bardzo się sprawdziły:).

Oczywiście nie prosze o gotowe kody ale o pomysły, sugestie jak rozwiązać problem.

Jeśli ktoś ma takowy pomysł byłbym wdzięczny za podzielenie się nim.

Pozdrawiam wszystkich.