Liste aus Mysql Tabelle neu sortieren

Noeden

Erfahrenes Mitglied
Hallo :)
Also ich habe eine Tabelle mit einer Spalte Namens 'position'. Danach wird die Ausgabe sortiert. Der Nutzer soll aber die Reihenfolge der Elemente beeinflussen können und es soll die Möglichkeit geben, dass später mehrere Benutzer im Zweifel gleichzeigtig die gleiche Liste neu sortieren. Wie stelle ich das jetzt am Besten an?

Es gibt auch schon Elemente, die mit willkürlichen Zahlen sortiert sind, die müssten da auch beachtet werden können.

Ich hoffe jemand hat eine Pfiffige Idee. Ich nutze PHP und Mysql.

Danke
Noeden
 
Das läuft daraus hinaus, das du dir für jeden Benutzer die Reihenfolge merken musst. Du könntest eine weitere Spalte deiner Benutzer-Tabelle hinzufügen, die standardmäßig leer ist. Wenn ein Benutzer die Reihenfolge ändert, serialisierst du einfach die komplette Reihenfolge und schreibst sie in die neue Spalte. Beim Auslesen der Reihenfolge prüfst du als erstes, ob der Benutzer Inhalt in seiner Spalte für die Reihenfolge hat, wenn ja, stellst du die Benutzerdefinierte ansonsten die Standard-Reihenfolge dar.
 
Hmm, das geht leider nicht, da es sich um sehr viele Tabellen handelt :( Es sollen auch alle Benutzer, die Zugriff auf die Tabelle XYZ haben die gleiche Reihenfolge sehen. Das Problem ist halt nur, dass zwei Benutzer gleichzeitig neue Elemente einfügen könnten oder die Reihenfolge der Elemente ändern könnten.

Edit:
Ich könnte mich damit zufrieden geben, dass es einen Bearbeitungsmodus gäbe, und, wenn der eine sortiert, kann niemand anders auch sortieren. Aber wie würde ich es am elegantesten für einen lösen (Immer ein update der gesamten Tabelle?).
 
Zuletzt bearbeitet:
Das mit dem einfügen sollte kein Problem sein, das Neue könnte man einfach immer hinten anhängen. Bei der Sortierung sollte doch eigentlich eine kleine Überprüfung reichen, also ob das Element noch an der Stelle ist. Wenn es noch da ist wo es der User sieht dann kann es verschoben werden, anderenfalls wird die Ansicht nur aktualisiert.
 
Zurück