Wenn Sie die Bestellung selbst ändern, müssen Sie eine bestimmte Reihenfolge für jede Seite in der Datenbank speichern. Gerade der aktuelle höchste/niedrigste Wert +/- 1 wäre wahrscheinlich ein guter Ausgangspunkt. Sobald Sie diese Reihenfolge eingegeben haben, wird das Umsortieren zu einem Fall, in dem zwei Werte ausgetauscht werden oder der Wert für eine Seite zwischen zwei anderen geändert wird (Sie könnten Floats verwenden, denke ich, aber Sie müssen möglicherweise neu nummerieren, wenn Sie es zu viele teilen) mal).
Wie auch immer, sobald Sie das haben, benötigen Sie eine Benutzeroberfläche. Ich habe einen sehr einfachen 'swap this with the one über/unter'-Ansatz gesehen, der ein einfacher Weblink oder ein AJAX-Anruf sein kann. Sie könnten dem Benutzer auch alle Seitenwerte präsentieren und sie auffordern, sie neu zu nummerieren, wie sie es für richtig halten. Wenn Sie Spaß haben möchten, ist JavaScript Drag & Drop ein guter Ansatz. Ich habe ExtJS und Mootools als Frameworks in dieser Art von Bereich verwendet. Wenn Sie nicht alle Extjs-Widgets brauchen, würde ich in Zukunft weit weg davon sagen, und schauen Sie sich etwas an wie die Mootools Dynamic Sortables demo.