Klaus Mock: PHP: Baum verändern, Veränderung wie speichern?

Beitrag lesen

Hallo,

Innerhalb der Ebenen zu vershcieben ist noch relativ einfach. Da mußt DUbeim ausgewählten Element nur die Parent_ID (wenn es ein 'Ordner' ist), oder die 'Ordner'-ID(wenn es ein Produkt ist) verändern.

Die Reihenfolgen zu ändern ist dann schon etwas schwieriger. Du müßtest imho, wie Du auch schon angedacht hast, eine Positionsnummer einführen (am Besten je 'Ordner' eindeutig). Wenn Du nun die Position verschieben willst, dann mußt Du ermitteln, welche Positionsnummern des aktuellen Elements und des Elements vor bzw nach dem aktuellen ermitteln und diese dann vertauschen.

Grüße
  Klaus

PS: Vielleicht ist mein Lösungsansatz zu Deinen Aufgabe etwas zu stark von meiner aktuellen Arbeit geprägt, in der auch eine mehr oder weniger identische Teilaufgabe geforder ist. Die Begriffe sind zwar anders, aber es geht um das selbe Thema. Es geht dabei um einen generischen Client, wobei die einzelnen Informationsquellen (Shortcuts, Links oder wie auch immer) in mehreren Strukturbäumen eingehängt werden können. Der einzige wirkliche Unterschied ist der, daß bei dieser Lösung die 'Ordner' und die 'Shortcuts' in einer Tabelle verwaltet werden. Das erleichert die Sache mit den Positionsnummern doch etwas;-)