JsTree - Beim Löschen einer Kategorie alle Unterkategorien mit löschen

germanTHX

Cadet 4th Year
Registriert
Aug. 2013
Beiträge
91
Guten Morgen zusammen,

Ich habe in Jquery in Verbinung mit Java einen Tree der dynamisch über eine SQL-Datenbank gefüllt wird.

Wenn man jetzt eine der Kategorien auswählt und auf löschen drückt, öffnet sich entweder
- ein Fenster das fragt ob man die Kategorie wirklich löschen will [1](falls keine Unterkategorien vorhanden sind)
- oder ein Fenster das darauf hinweist das noch Unterkategorien vorhanden sind und diese beim Löschen auch mit gelöscht werden. Wenn man dieses Fenster dann mit Ja beantwortet soll wieder die Abfrage geöffnet werden ob man die Kategorien löschen will. [Anzahl der Objekte die dadurch dann gelöscht werden]

Und genau da liegt mein Problem. Wie realiesier ich nun die Löschung aller Unterkategorien im Code?
Denn im Grunde kann ja jede Kategorie, unendlich viele Unterkategorien beinhalten, welche wiederum auch unendlich viele weitere
Unterkategorien enthalten können.

Kann ich im Prinzip nicht für die Abfrage was alles gelöscht werden muss die gleiche Methode verwenden wie die, die mir den Tree
am Anfang füllt? Nur anstatt die Kategorien dem Tree hinzuzufügen, werden sie jedes mal gelöscht.

Ich hoff echt ihr könnt mir weiterhelfen weil ich steh echt auf dem Schlauch wie ich das durchschleifen soll damit er wirklich alle Unterkategorien erwischt, und wo ich dann den Zähler setzten muss damit er mir am Schluss auch die richtige Anzahl anzeigt.

Weitere Daten:
Kategorien werden über einen KategorieCode (String) eindeutig identifiziert.
Datenbanklogik bereits alles vorhanden.
deleteInDb der KategorieCode übergeben wird auch funktionsfähig. (Löschen einzelner Sätze funktioniert bereits)
 
Zuletzt bearbeitet:
germanTHX schrieb:
Und genau da liegt mein Problem. Wie realiesier ich nun die Löschung aller Unterkategorien im Code?
Denn im Grunde kann ja jede Kategorie, unendlich viele Unterkategorien beinhalten, welche wiederum auch unendlich viele weitere
Unterkategorien enthalten können.
Lass dir jede Kategorie mit der ID auflisten, die als Unterkategorie dort drin steckt und lösch die Kategorien mit entsprechend gefundenen IDs.
 
Ja das wär die einfach Lösung wenns nur eine Unterkategorie geben würde.
Ich übergeb meine Kategorie, und lass mir alle Unterkategorien als Liste zurück geben, schleif diese durch und lösche jede davon. Aber muss ich dann nicht erst jede UnterkategorieID wiederum überprüfen lassen ob es dafür Unterkategorien gibt? Und dann die Unterkategorien der Unterkategorien überprüfen lassen ob diese auch Unterkategorien beinhalten? ... ich bin verwirrt.
 
Ja genau. Du läufst einfach so lange die Unterkategorien durch, bis du alle hast und löschst diese im Nachhinein.
 
Also gut da ich von Rekursion vorher irgendwie noch nie was gehört hatte (Ich frag mich wie das in meiner Ausbildung an mir vorbei gehn konnte?!) hab ich mir das eben mal kurz angeschaut und siehe da, es funktioniert.
Danke für die schnellen Antworten!
 
Zurück
Oben