Hallo,
ich habe ein Skript in das ich eine Funktion einbauen möchte, um Datenbankeinträge rekursiv zu löschen. Dabei geht es um Kategorien und Unterkategorien. Die Tabellenstruktur ist simpel:
id | name | directory_id
1 | kat_1 | 0
2 | sub_1 | 1
3 | sub_2 | 2
Das erzeugt folgende Hierarchie:
kat_1
- sub_1
- - sub_2
So kann ich eine theoretisch unendlich weite Kategorietiefe erreichen. Nun ist das Problem bzw. die Frage, wie ich rekursiv Löschen kann. D.h. wenn ich eine Kategorie lösche, dass deren Unterkategorien, sowie deren evtl. vorhandenen Unterkategorien ebenfalls gelöscht werden. Eine weitere Schwierigkeit besteht darin, dass ich eine Tabelle habe, in der Dateinamen gespeichert werden, die zu den Kategorien und Unterkategorien gehören (der Bezug erfolgt über die id), die bei einem Löschvorgang einer Kategorie, ebenfalls gelöscht werden müssen, natürlich auch die, die in evtl. bestehenden Unterkategorien vorhanden sind. Mir fehlt hier im Moment der Ansatz und ich würde mich über Hilfe wirklich sehr freuen. Ich kann keine Nested Sets verwenden. Die Vorgabe ist, es rekursiv zu bearbeiten. Vielen Dank für evtl. Hilfe.
ich habe ein Skript in das ich eine Funktion einbauen möchte, um Datenbankeinträge rekursiv zu löschen. Dabei geht es um Kategorien und Unterkategorien. Die Tabellenstruktur ist simpel:
id | name | directory_id
1 | kat_1 | 0
2 | sub_1 | 1
3 | sub_2 | 2
Das erzeugt folgende Hierarchie:
kat_1
- sub_1
- - sub_2
So kann ich eine theoretisch unendlich weite Kategorietiefe erreichen. Nun ist das Problem bzw. die Frage, wie ich rekursiv Löschen kann. D.h. wenn ich eine Kategorie lösche, dass deren Unterkategorien, sowie deren evtl. vorhandenen Unterkategorien ebenfalls gelöscht werden. Eine weitere Schwierigkeit besteht darin, dass ich eine Tabelle habe, in der Dateinamen gespeichert werden, die zu den Kategorien und Unterkategorien gehören (der Bezug erfolgt über die id), die bei einem Löschvorgang einer Kategorie, ebenfalls gelöscht werden müssen, natürlich auch die, die in evtl. bestehenden Unterkategorien vorhanden sind. Mir fehlt hier im Moment der Ansatz und ich würde mich über Hilfe wirklich sehr freuen. Ich kann keine Nested Sets verwenden. Die Vorgabe ist, es rekursiv zu bearbeiten. Vielen Dank für evtl. Hilfe.