phpbar.de logo

Mailinglisten-Archive

[dbs] MySQL - Benutzerdefinierte Sortierung

[dbs] MySQL - Benutzerdefinierte Sortierung

Rene Foren-Admin at sv650s.info
Mon Jan 26 14:32:56 CET 2004


>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