nach Datum sortieren

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • madi
    Contao-Nutzer
    • 29.10.2009
    • 89

    #1

    nach Datum sortieren

    Hallo,

    ich hoffe das wurde nicht schon irgendwo angesprochen, habe nichts gefunden.

    Jedenfalls habe ich einen Feldtyp "Datum" und würde die Einträge gerne danach sortieren. Das Feld erzeugt aber komische Werte als varchar zb: 01.04.2010 = 1270080000

    Die Ausgabe mit "date("d.m.Y", entry['data']['datum']['value']);" ist kein Problem. Aber sortieren kann ich diese in der Katalog-Liste nicht.

    Im Wiki steht zwar das hier

    PHP-Code:
    datum BETWEEN UNIX_TIMESTAMP('{{date::Y}}-01-01') AND UNIX_TIMESTAMP('{{date::Y}}-12-31') 
    
    Aber ich will nicht die Ausgabe begrenzen, sondern alle Einträge sortieren.

    Hat jemand einen Tipp für mich?

    Grüße, MaDi
    Zuletzt geändert von madi; 09.07.2010, 16:28.
  • psren
    Contao-Urgestein
    • 07.04.2010
    • 2733

    #2


    Umso größer der Wert, umso neuer der Eintrag.

    Wenn ich euch helfen konnte könnt ihr euch gerne mal
    meine Amazon Wunschliste anschauen. Dankeschön.

    Kommentar

    • madi
      Contao-Nutzer
      • 29.10.2009
      • 89

      #3
      Hallo prsen,

      ja das klappt eigentlich, aber nach dem letzten Eintrag hängt er alte Einträge dran, also so (deshalb sah es so unsortiert aus):

      --.--.2001
      --.--.2002
      --.--.2003
      ...
      --.--.2010 (1286755200)
      --.--.1999 (941414400)
      --.--.2001 (999734400)

      Das in Klammern sind die Werte, da sind die höheren größer als die neueren. Irgendwo ist da der Wurm drin, werden sie mal löschen und neu anlegen. Bei den anderen Einträgen klappt es ja auch.
      Zuletzt geändert von madi; 09.07.2010, 17:07.

      Kommentar

      • MacKP
        Contao-Yoda
        • 15.06.2009
        • 13315

        #4
        Hallo madi,
        kann es sein das in deinem Beispiel dann ein Fehler ist?
        Zumindest sind da die höheren Werte neuer...
        Oder ich hab falsch geschaut... aber irgendwie sieht es so aus, als ob das passt.

        Viele Grüße
        Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
        [Arbeitet bei -> Paus Design & Medien]
        "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

        Kommentar

        • madi
          Contao-Nutzer
          • 29.10.2009
          • 89

          #5
          Zitat von MacKP Beitrag anzeigen
          Hallo madi,
          kann es sein das in deinem Beispiel dann ein Fehler ist?
          Zumindest sind da die höheren Werte neuer...
          Oder ich hab falsch geschaut... aber irgendwie sieht es so aus, als ob das passt.

          Viele Grüße
          Die Werte hab ich aus phpmyadmin abgeschrieben. Bei ein paar neuen Einträgen fällt einer wieder aus der reihe, der steht bei DESC vor 2011 und ist von 1998 (wert: 899251200).

          Schon seltsam, weil ich hunderte andere Einträge habe die richtig sortiert sind, nur 4 nicht. Das Datum neu einzugeben hat nichts gebracht.

          Grüße, MaDi

          Kommentar

          • do_while
            Contao-Urgestein
            • 15.06.2009
            • 3699

            #6
            Du könntest mal folgendes probieren:
            Code:
            ROUND(datum) BETWEEN UNIX_TIMESTAMP('{{date::Y}}-01-01') AND UNIX_TIMESTAMP('{{date::Y}}-12-31')
            Manchmal kommt MySQL auf die Idee auch Zahlen alphabetisch zu sortieren, nach der ersten Ziffer, dann 2. Ziffer ...
            Das ROUND() sollte da gezielt einen numerischen Wert draus machen.
            Gruß Hagen
            Mein Contao Premium Partnerprofil
            Link zum Stammtisch Berlin

            Kommentar

            • madi
              Contao-Nutzer
              • 29.10.2009
              • 89

              #7
              Zitat von do_while Beitrag anzeigen
              Das ROUND() sollte da gezielt einen numerischen Wert draus machen.
              Super, das hat das Problem gelöst! Danke, dir!

              Kommentar

              Lädt...