Struktura bazy danych:
Galerie:
id (autonmeracja)
id_matki (id galerii do której podpięta jest ta - w przypadku kategorii najwyższych pojawia się 0)
tytul (tytul kategorii)
Zdjęcia:
id (autonumeracja)
id_matki (id kategorii pod którą podlega zdjęcie)
Skrypt wyświetlania drzewka:
<?php function kategorie($nr, $i = 0) { { for($a=1; $a<$i; $a++) { } for ($a=$i-1; $a<$i and $a>=0; $a++) { } "<b>".$wiersz['tytul']."</b>"; //W tym miejscu pojawia się link do dodawania nowej kategorii (skrypt formualrza poniżej) kategorie($wiersz['id'], $i+1); } } kategorie(0); ?>
Formularz przesyłający dane metodą POST (przesyłane dane to id kategorii pod którą podpina się nową)
<form method="post" action="plikgaleria.php" id="dodaj_kategorie<?php echo "".$wiersz['tytul'].""; ?>" style="display: inline;"> <input type="hidden" name="id" value="<?php echo "".$wiersz['id'].""; ?>" /> <input type="hidden" name="opcja" value="dodaj_kategorie" /> <input type="hidden" name="send" value="galeria" /> <a href="#" onclick="document.getElementById('dodaj_kategorie<?php echo "".$wiersz['tytul'].""; ?>').submit();"> Kategoria </a> </form>
Po kliknięciu w link przy danej kategorii wyświetla się inpt do wpisania nowej nazwy:
if ($option=='dodaj_kategorie') { $podpiecie_do = strip_tags(htmlspecialchars( mysql_escape_string(trim($_POST["id"])), ENT_QUOTES)); //Tu pojawia się FORM w nim dodatkowy input ukryty z id matki <input type="hidden" name="id_dodawanej" value="<?php echo "$podpiecie_do"; ?>" /> }
Poniżej skrypt dodający kategorię
<?php $tytul_nowej = strip_tags(htmlspecialchars( mysql_escape_string(trim($_POST["tytul"])), ENT_QUOTES)); $id_mat = strip_tags(htmlspecialchars( mysql_escape_string(trim($_POST["id_dodawanej"])), ENT_QUOTES)); ?>
I teraz tak. W momencie kiedy dodaję kolejne kategorie:
1
...2
...3
......4
...5
...6
czyli kiedy każda ma inną nazwę wszystko jest w porzadku, ale kiedy stworzę coś takiego:
1
...1
i do podkategori o nazwie 1 jede chcę dodać jakąkolwiek inną powinno powstać
1
...1
......nowa
a powstaje
1
...1
...nowa
Czy ktoś jest wstanie pomóc?