kostenloser Webspace werbefrei: lima-city


ORDER by SQL Befehl

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    In einer SQL Abfrage von mir sortiere ich meine Einträge mit "ORDER by Datum DESC".

    Die Spalte Datum hat "22.09.2009"

    Wenn jetzt aber noch ein Beitrag erstellt wird, hat es ja auch Datum = "22.09.2009"

    Wie mache ich es, dass die neuesten Beiträge oben sind?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. w******s

    davy schrieb: Wenn jetzt aber noch ein Beitrag erstellt wird, hat es ja auch Datum = "22.09.2009"
    Du speicherst die genaue Zeit ab. Ich schätze mal das geht über diese PHP-Funktion: getdate. Also Zeit einfach mitbeachten. Das kann ja in der DB stehen, musste es ja letztlich dann nicht ausgeben.
  4. Hallo!

    Du machst es, indem du sowal Datum als auch Uhrzeit in der selben Spalte ausliest bzw. einfügst.

    Wenn du auf deiner Seite dann nur DD.MM.YYYY anzeigen willst, kannst du das mit der Funktion Date() modelieren.

    bei dir wäre das: date('d.m.Y');

    Gruß
    illuxio

    Beitrag zuletzt geändert: 22.9.2009 21:08:03 von illuxio
  5. maechte-der-elemente

    Kostenloser Webspace von maechte-der-elemente, auf Homepage erstellen warten

    maechte-der-elemente hat kostenlosen Webspace.

    davy schrieb:
    Hallo !

    In einer SQL Abfrage von mir sortiere ich meine Einträge mit "ORDER by Datum DESC".

    Die Spalte Datum hat "22.09.2009"

    Wenn jetzt aber noch ein Beitrag erstellt wird, hat es ja auch Datum = "22.09.2009"

    Wie mache ich es, dass die neuesten Beiträge oben sind?


    Speichere doch einfach den timestamp als integer mit ab und lass dann danach sortieren. Dann hast du auf jedenfalls eine sehr genaue Sortierung.
  6. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    illuxio schrieb:
    Hallo!

    Du machst es, indem du sowal Datum als auch Uhrzeit in der selben Spalte ausliest bzw. einfügst.

    Wenn du auf deiner Seite dann nur DD.MM.YYYY anzeigen willst, kannst du das mit der Funktion Date() modelieren.

    bei dir wäre das: date('d.m.Y');

    Gruß
    illuxio


    Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben.
  7. Dann verwende einen Timestamp (Zeitstempel), bei dem dann neben dem Datum auch die Uhrzeit mit Sekunden vorhanden ist.
  8. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    karpfen schrieb:
    Dann verwende einen Timestamp (Zeitstempel), bei dem dann neben dem Datum auch die Uhrzeit mit Sekunden vorhanden ist.



    und wie kriege ich den timestamp?
  9. davy schrieb:
    Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben.


    Doch da in der Spalte Datum folgendes steht:

    2004-02-12T15:19:21+00:00
    2004-02-12T15:19:22+00:00

    (ISO 8601 Datum)

    Da 22 > 21 ist wird der zweite Beitrag zu erste angezeigt, wenn du DESC sortierst.

    Mit date('d.m.Y'); stellst du nur am Ende das Datum da ;-)

    Das Datum wäre in beiden Fällen: 12.02.2004!

    EDIT: time(); gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.

    Gruß
    illuxio

    Beitrag zuletzt geändert: 22.9.2009 21:27:16 von illuxio
  10. Man könnte auch eine ID in die Tabelle schreiben, welche automatisch hochgezählt wird und nach der Sortieren. Das ist wahrscheinlich besser noch als der Timestamp. Timestamp ist ein eigener Datentyp für Datenbanktabellenfelder. Da muss man einfach ein weiteres Feld an der Tabelle anfügen, in der automatisch so ein Stempel generiert wird.
  11. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    illuxio schrieb:
    davy schrieb:
    Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben.


    Doch da in der Spalte Datum folgendes steht:

    2004-02-12T15:19:21+00:00
    2004-02-12T15:19:22+00:00

    (ISO 8601 Datum)

    Da 22 > 21 ist wird der zweite Beitrag zu erste angezeigt, wenn du DESC sortierst.

    Mit date('d.m.Y'); stellst du nur am Ende das Datum da ;-)

    Das Datum wäre in beiden Fällen: 12.02.2004!

    EDIT: time(); gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.

    Gruß
    illuxio


    Danke !

    Danke auch an alle anderen !
  12. Kann ja dann zu, nachdem das Problem gelöst wurde. Bei Rückfragen PN an mich!
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!