<?php function displayTree($root) { // pobierz parametry glownego wezla menu WHERE id=''.$root.'''); // wyswietl wezly $r = mysql_query('SELECT * FROM menu WHERE `left` BETWEEN ''.$row['left'].'' AND ''.$row['right'].'' ORDER BY `left`'); // czysc stos } } // wyswietl element echo str_repeat(' <img src="icons/tree_galaz_przedluzenie.gif" align="top" />',count($right) - 1).' <img src="icons/tree_galaz.gif" align="top" /><img src="icons/tree_open.gif" align="top" /> <input type="text" name="nazwa" value="'.$row['nazwa'].'" class="nazwa" onfocus="this.className='nazwa_active'" onblur="this.className='nazwa'" /></td><td> <input type="submit" value="Zmień" class="button" /> <a href="index.php?'.$row['id'].'" onclick="return confirm('Czy na pewno chcesz usunąć to menu?')"><img src="icons/delete.png" border="0" /></a> <a href="#" onclick="pokazUkryj('dodaj'.$row['id'].'')"><img src="icons/add.gif" border="0" /></a>'; } else { echo '<img src="icons/tree_galaz.gif" align="top" /><img src="icons/tree_open.gif" align="top" /> <input type="text" name="nazwa" value="'.$row['nazwa'].'" class="nazwa" onfocus="this.className='nazwa_active'" onblur="this.className='nazwa'" /></td><td> <input type="submit" value="Zmień" class="button" /> <a href="index.php?" onclick="return confirm('Czy na pewno chcesz usunąć to menu?')"><img src="icons/delete.png" border="0" /></a> <a href="#" onclick="pokazUkryj('dodaj'.$row['id'].'')"><img src="icons/add.gif" border="0" /></a>'; } // zloz jego parametr 'right' na stos $right[] = $row['right']; } // wszystko jest OK return 1; } // tere fere, nie ma takiego wezla return 0; } // end displayTree(); ?>
Ten element służy do wyświetlania danych z tabeli w postaci drzewa (metodą left-right).
Przyznaję, że jest zerżnięta z gotowca, jednak kilka drobnych modyfikacji wprowadziłem. Problem tkwi w wyświetleniu drzewa jako rozwijane menu, takiego po boku, z prawej strony (jak w Windows). Przyznaję również, że nie do końca pojąłem mechanizmu wyświetlania tych danych. Dlatego proszę Was o pomoc. Jest tam funkcja count. Wydaje mi się, że w przypadku takiego menu, które chciałem stworzyć, jest ona zupełnie zbyteczna. Nie wiem po prostu jak się do tego zabrać. Nie chodzi mi o gotowy kod, ale o nakierowanie jakieś, jakie funkcje i rozwiązania mam wykorzystać.
Będę bardzo wdzięczny za pomoc.