Sortierungsskript

brainsucker

Erfahrenes Mitglied
Hi,

ich würde zwar gerne googlen um mein Problem selbst zu lösen, nur weiss ich nicht genau wonach ich suchen muss / sollte. Daher schildere ich Euch kurz mein Vorhaben und hoffe dass Ihr mir weiterhelfen könnt.

ich habe eine recht einfache Datenbanktabelle die folgendermaßen aussieht:

Code:
ID | Name | Vorname | Sortierung

Einem Administrator wird in der Benutzerverwaltung dann die Inhalte, sortiert von A-Z angezeigt. Nun möchte ich aber dem Admin eine Funktion bereitstellen anhand der er die Reihenfolge der anzeige selbst festlegen kann. Hierfür ist das Feld Sortierung gedacht. Die SQL Abfrage wird dann eben nach dem Feld Sortierung (enthält nur Integer von 1-x) sortiert (order by sortierung)

Gibt es da vielleicht schon ein Skript was ich hierfür verwednen kann? Wäre cool wenn mir jemand helfen könnte.

Viele Grüße

Euer Brainsucker
 
Warum sollte es für genau diesen speziellen Zweck bereits ein Script geben? Ich denke du hast alles, was du an Informationen brauchst, um das Thema selbst an zu gehen. Du weißt sogar schon, was du tun musst. Woran scheitert es?
 
Naja ich dachte man muss ide räder ja nicht immer wieder neu erfinden. Denke dass schon der ein oder andere diese Anforderung hatte und mir damit weiterhelfen könnte.

Ich weiss z.B. noch nicht wie ich es lösen kann dass der Admin 2x den gleichen wert für einen Eintrag vergibt, bzw. wie man die "Einsortierung" gestalten kann.

Bsp:

Ich hab diese Einträge:

Max Mustermann 1
Heinz Heinrich 2
Fritz Walter 3
Sepp Herberger 4
Rudi Völler 5
Andi Brehme 6
usw

wenn jetzt Jürgen Klinsmann an 2ter Stelle kommen soll, muss ich ja alle werte die nach 2 kommen auch aktualisieren...

Da hab ich noch keine gute Lösung gefunden. Daher mein Eintrag hier...
 
wenn jetzt Jürgen Klinsmann an 2ter Stelle kommen soll, muss ich ja alle werte die nach 2 kommen auch aktualisieren

Ich sag mal "jein". Kommt darauf an, ob es dir grundsätzlich egal ist, ob Jürgen Klinsmann dann zusammen mit Heinz Heinrich unsortierbar ist.

Also könntest du es beispielsweise so lösen:


Max Mustermann 1
Heinz Heinrich 2
Jürgen Klinsmann 2
Fritz Walter 3
Sepp Herberger 4
Rudi Völler 5
Andi Brehme 6
usw

Dann wäre nicht gewähleistet, wie Heinz Heinrich sortiert sind. Grundsätzlich kannst du es aber so lösen:

1. Alle Datensätz oberhalb deines gewünschten Sortierungsindex (in diesem Falle 2) sollen um eins nach oben verschoben werden:

SQL:
UPDATE Namen_Sortierung SET SortierungsIndex = SortierungsIndex + 1 WHERE SortierungsIndex >= 2;

Anschließend legst du den Jürgen Klinsmann auf den Index 2:

SQL:
UPDATE Namen_Sortierung SET SortierungsIndex = 2 WHERE Name = 'Jürgen Klinsmann';
 
Ich habe jetzt folgendes gemacht:

Mittels JavaScript / JQuery kann ich die Einträge per Drag and Drop hin und her schieben und somit die gewünschte Reihenfolge herstellen. Das Ergebnis ist eine unsortierte Liste:

HTML:
<ul>
<li class="sort">Eintrag 3</li>
<li class="sort">Eintrag 24</li>
<li class="sort">Eintrag 1</li>
<li class="sort">Eintrag 5</li>
<li class="sort">Eintrag 12</li>
</ul>

Nun muss das Ganze natürlich in die Datenbank. Und hieran scheitere ich nun. Wenn es mir gelingen würde die komplette Liste (nachdem sie korrekt sortiert wurde) als String an ein PHP skript zu übergeben könnte ich den String splitten, die Infos herausziehen und damit die Datenbank updaten. Leider weiss ich nicht wie. Vielleicht hat hier jemand eine Idee?


DENKFEHLER - Ich kann es zwar per JQuery und Drag and Drop sortieren, allerdings wirkt sich das ja nicht auf den HTML Quellcode aus. Mist und wieder bei 0 anfangen :-(

Wäre supi!

Vielen Dank

Brainsucker
 
Zuletzt bearbeitet:
Wenn du schon mit JQuery (meinst du die Ajax-Lib?) arbeitest, kannst du das auch mittels Ajax-Request an ein Script übermitteln. Und zwar in der Reihenfolge, wie du es gern hättest. Du kannst das dann bspw. als GET-Parameter anhängen und im PHP-Script dann über $_GET darauf zugreifen.

Da ich keine Ahnung habe, wie dein Java-Script-Code dazu aussieht, kann ich leider keine näheren Angaben machen.
 
Zurück