Mailinglisten-Archive |
>Hallo, >bei meinen Bemuehungen in MySQL ein >Datenbankmodell zu erstellen, stosse ich auf >folgende Frage: Ich moechte bei Werteingaben dem >Benutzer die Moeglichkeit geben, die Reihenfolge >der Eintraege zu manipulieren (fuer die Ausgabe). >Ein Denkansatz war, den INSERT fuer einen neuen >Datensatz an einer bestimmten Stelle zu >vollziehen. Ich finde aber keinen Befehl dafuer >in meinen Referenzquellen, nur den Hinweis, dass >neue Datensaetze immer unten angefuegt werden. >Gibt es trotzdem sowas wie INSERT INTO xyz VALUE >() AFTER ('vorhandener Datensatz x')? Hi, so einen Befehl gibt es nicht verwende besser eine extra Spalte dafür. Ich gebe dir mal ein Beispiel: ID | Name | Wert | Sortierung 1 Hans 20 5 2 Klaus 2 3 3 René 225 7 4 Dino 19 1 So und dann lauten für dieses Beispiel die SQL-Befehle Abfragen: SELECT * FROM Tabellenname ORDER BY Sotierung; Einfügen: SELECT MAX(Sortierung) AS max FROM Tabellenname; INSERT INTO Tabellenname (Name,Wert,Sortierung) VALUES ('Löwe','111',$max); $max ist dabei das Ergebnis aus dem hier drüber stehendem SELECT UPDATE Tabellenname SET Sortierung = X WHERE ID = Y; x & y sind dabei auch wiederrum veränderbare werte. So kannst du dann eine Spaltenunabhängige Sortierung erreichen. mfg René
php::bar PHP Wiki - Listenarchive