Hallo "stimhof".
Na, wenn du ausschließen kannst, dass mehrere Admins gleichzeitig dran arbeiten, dann ist das wahrscheinlich viel einfacher, als du es dir gerade zurechtdenkst. Bei deinem Beispiel oben wäre die Adresse hinter dem Pleil, das Gästebuch eins "hochzuklicken" vielleicht ?id=guestbook&action=move_up. Jetzt liest du einfach die Tabelle ein (id + die Sortierspalte), kommst so auf die (alte) Sortiernummer des Gästebuch-Datensatzes. Hier
prüfst du, ob ein Verschieben nach oben überhaupt noch möglich ist (ggf. könnte ja auch möglich sein, dass das oberste Element, wenn es hochgeschoben wird, ganz unten auf der Liste "rauskommt"). Je nach dem, hast du dann einen Fehler oder den neunen Platz rausbekommen. Jatzt vertauscht du einfach die Sortiernummern der beiden Elemente - das zu verschiebende und das auf dem neunen Platz.
Also etwas so:
Datensatz-ID des zu verschiebenden Elementes sei ID
Tabelle nach E einlesen (Elemente)
Wenn nach_oben m=1, wenn nach unten m=-1
Alter_Platz = E.ID.Sortiernummer
Neuer_Platz = Alter_Platz+m
Wenn m>Elemente.Anzahl-1 Neuer_Platz=0
Wenn m<0 Neuer_Platz=Element.Anzahl-1
Verdrängtes_Element = Das Element, dass bis jetzt noch auf Neuer_Platz sitzt
Elemente.ID.Sortiernummer = Neuer_Platz
Elemente.verdrängtes_Element.Sortiernumme = Alter_Platz
Es führen natürlich viele Wege nach Rom.
Basti