Daten bei der Ausgabe sortieren
Mares P.
- php
Hallo,
ich habe eine MySQL Datenbank mit folgender Tabelle
nachname
vorname
sortierreihenfolge [int]
Die sortierreihenfolge gibt an, in welcher Reihenfolge die Datensätze ausgegeben werden sollen.
Nun soll über eine Admin Oberfläche diese Reihenfolge geändert werden können. Und zwar über einen Button + oder -, welcher die Sortierreihenfolge dann um eins nach unten oder eins nach oben verändert.
also so:
gert müller [+] [-]
beckenbauer franz [+] [-]
völler rudi [+] [-]
breitner paul [+] [-]
Die Funktion muss also bei einem + dem ausgewähltem Datensatz ein addieren und dem nächste eins abziehen.
Bei einem - umgekehrt.
Wie realisiere ich sowas am besten? Geht das direkt in der SQL Abfrage?
Ist das überhaupt sinnvoll die Sortierreihenfolge so zu bestimmen?
Vielen Dank
Maresa P.
Hi,
Wie realisiere ich sowas am besten?
indem Du in der Datenbank eine Position speicherst und diese bei _beiden_ betroffenen Datensätzen veränderst.
Ist das überhaupt sinnvoll die Sortierreihenfolge so zu bestimmen?
Nicht wirklich. Parallele Prozesse können da für ein ziemliches Chaos sorgen.
Cheatah
Hallo Maresa,
Die Funktion muss also bei einem + dem ausgewähltem Datensatz ein addieren und dem nächste eins abziehen.
Bei einem - umgekehrt.
genau...
Wie realisiere ich sowas am besten? Geht das direkt in der SQL Abfrage?
Ich weiss nicht was du genau mit "SQL Abfrage" hier meinst, aber ja du musst 2 SQL Befehle dafür verwenden die Sortiernummern der Datensätze zu ändern und zwar genau so wie du gesagt hast. Wenn es ein Plus Zeichen war, dann ziehst du von der Sortiernummer des nächsten Datensatzes eins ab und addierst zu dem gewählten Datensatz eins dazu. Du brauchst unbedingt eindeutige IDs in deiner Tabelle, ich hoffe das hast du bedacht.
Ist das überhaupt sinnvoll die Sortierreihenfolge so zu bestimmen?
In einer Browseroberfläche hat man das Problem, dass die Seite nach jedem Klick neu lädt, also kann es schon etwas dauern, bis man die Reihenfolge von sagen wir 20 Namen zurechtgeklickt hat. Vielleicht wäre es besser, wenn die Sortiernummern gleich als Zahlen eingegeben werden, dann kann man alles auf einen Knopfdruck wegspeichern.
Gruß,
Cruz