Daten sortieren nach dem Datum

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten sortieren nach dem Datum

    Hi,

    habe eine Datenbank in der das Datum automatisch nach dem Eitnrag erzeugt wird. Nun möchte ich, dass das aktuelle Datum immer oben ist. Mein Befehl war:
    Select bla bla bla ORDER BY datum

    Das Problem ist aber, wenn 2 Einträge am gleichen Tag erscheinen, ist der erste Eintrag des Tages tortzdem immer noch oben.
    Eine 2. Möglichkeit wäre, dass ich nicht nach dem Datum sortiere, sondern einen Autowert erzeuge und jeden Eintrag eine höhere Nummer zuweise.

    Aber: Wie mache ich sowas mit dem kleinsten Aufwand ? Datenbank steht, Eingabefeld in HTML und die Abfrage auch schon.
    Weiss mir jemand eine schnelle Antwort ?
    Im Prinzip m öchte ich ja nur den aktuellsten Eintrag oben haben.

    Danke für Eure Hilfe !

  • #2
    eigentlich gehört sowieso in jede Tabelle eine ID mit auto_increment als PrimaryKey; insofern wäre ein "order by ID" schon die Lösung. Aber darauf, daß neuere Einträge auch höhere IDs haben, kann man sich je nach Konfiguration des DBMS nicht verlassen.

    Die nächst-einfache Lösung ist, zusätzlich zum Datum noch die Uhrzeit - oder die aktuelle Unix-Timestamp - zu speichern:
    mysql_query ("insert into KOMMENTARE (DATUM, TEXT, STAMP) values ('".date('Y-m-d')."', '$kommentar', ".time().")");
    STAMP sollte vom Typ BIGINT unsigned sein; damit gehst du auf Nummer sicher, daß auch jedes Datum reinpaßt.
    Ausgabe dann mit "order by STAMP", damit brauchst du das Datum zum Sortieren gar nicht mehr.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X