Tom: Lösungsansätze => Daten sortieren

Beitrag lesen

Hello Raffi,

Ich habe ein CMS wo der Kunden einzelne Datensätze eingeben kann.
Angenommen er hat nun 10 Datensätze eingegeben und möchte diese ordnen. Wie soll ich das in der Benutzeroberfläche lösen, damit er die Datensätze in die Reihenfolge bringen kann, wie er möchte. In der DB ist es mir klar. Da mach ich einfach ne Spalte reihenfolge, nach der ich es dann sortiert ausgebe. Aber wie löse ich das am Benutzerfreundlichsten im CMS GUI?

Dasselbe Problem habe ich bei meinem CMS auch noch nicht endgültig gelöst. Das könnte also unsere gemeinsame Tagesaaufgabe werden, wenn Du Lust und Zeit hast. Irgendwann muss ich es ja mal fertig machen.

Zur Zeit wird das so gelöst, dass der Client einfach eine Zahl angeben muss, an welcher Position er den Satz haben will. Bei gleichen Positionen entscheidet dann der Name der Seite. Wenn man also eine alphabetisch sortierte Gruppe haben will, muss man nur alles auf einen Index legen.

Für mich ist die spannende Frage, wie man nun ein ReIndex in der DB durchführen kann. Es gibt ja bei MySQL auch Variablen, die man dafür nutzen kann. Aber meine Versuche sind bisher immer in die Hose gegangen.

Das Einfügen von Datensätzen in die Tabelle kann man am Client ja quasi-grafisch lösen. Ich stelle die Liste zuzüglich Ende-Markierung dar und der Client wird gefragt, VOR welchem Datensatz er den neuen einfügen will. Der Index dieses Satzes ist dem System ja bekannt.

Nun könnte man 2,4,6,8,... zählen und dann den Satz eben z.B. auf 5 einfügen, wenn er denn vor 6 stehen soll.

Oder man muss gleich 1,2,3,4,5 zählen und wenn der Client auf 4 klickt, ein Update mit Pos = Pos+1 ab der Position 4 machen und dann erst einfügen. Mit SQL müsste das ja gehen, dass man da "vorwärts" arbeitet und quasi seine Filterkriterien kaputtschreibt. Beim guten alten dBase musste man immer aufpassen, dass man nicht den Index veränderte, nach dem die Sache gerade sortiert war. Dann konnte man schöne zirkuläre Verläufe erzeugen.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen