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