MYSQL Datenbank Einträge chronologisch sortieren

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

  • MYSQL Datenbank Einträge chronologisch sortieren

    Die Einträge meiner News Tabelle möchte ich gerne chronologisch sortieren. Und zwar anhand des Feldes Date mit dem Typ "DATETIME". Wenn ich es einfach mit ORDER BY DATE mach werden die Einträge nicht genau chronologisch sortiert und nach ID möchte ich auch nicht ordnen.

    Wie kann ich also genau chronologisch sortieren anhand des Feldes date?

    Vielen Dank im voraus!

    mfG
    Guido

  • #2
    Wenn Dir Sortierung nach Sekunden nicht genau genug ist, speichere das Ergebnis von list ($mu, $sec) = explode(' ', microtime()); return (float)$mu; in einem eigenen VARCHAR- oder FLOAT-Feld MICROTIME und order by DATE, MICROTIME
    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


    • #3
      was meinst du mit "nicht genau"??

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        Wenn ich zum Beispiel einen Eintrag habe bei dem im Feld Date "2002-03-04 22:10:42" steht und bei einem anderen "2001-03-05 00:42:59", dann wird bei ORDER BY DATE DESC der Eintrag von "2001-03-05 00:42:59" zuerst ausgegeben obwohl er älter ist als der andere.

        Oder sehe ich das falsch (kann auch sein)?

        mfG
        Guido

        Kommentar


        • #5
          Ein Eintrag vom 5. März ist älter als einer vom 4. März des gleichen Jahres?
          Dann hab ich also diese Antwort geschrieben, bevor du deine Frage gestellt hats.
          Faszinierend!
          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


          • #6
            Des gleichen Jahres? Da steht doch 2001!

            mfG
            Guido

            Kommentar


            • #7
              öhm ... übergesehen, sorry. Welche mySQL-Version?
              Wenn neueste (3.23.49a bzw. 4.0.1): Bug schon an mysql.com gemeldet?
              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


              • #8
                ... order by date desc:
                2002-03-04 22:10:42
                2001-03-05 00:42:59

                ... order by date:
                2001-03-05 00:42:59
                2002-03-04 22:10:42

                Poste bitte Dein Select Statement. Das muß eine andere Ursache haben.

                Kommentar


                • #9
                  ... order by date desc (leider auch):
                  2001-03-05 00:42:59
                  2002-03-04 22:10:42

                  Kommentar


                  • #10
                    1) ist das ganze auch in einem DATE-Feld?
                    2) wenn nicht: sind vielleicht irgendwo Leerzeichen versteckt?
                    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


                    • #11
                      Original geschrieben von hand
                      Poste bitte Dein Select Statement. Das muß eine andere Ursache haben.
                      .. oder ist es so geheim?

                      irgendeinen Ansatz brauchen wir ja um helfen zu können.

                      Kann es sein
                      ... order by feld1, date ?

                      Alles Mutmaßungen, also es liegt an Dir wieviel Zeit die Klärung erfordert.

                      [Editiert von hand am 06-03-2002 um 21:25]

                      Kommentar


                      • #12
                        Code:
                        $query = mysql_query ("select *, date_format(date, '%d.%m.%y %H:%i') as date FROM $table_news ORDER BY date DESC LIMIT $offseta,$newsproseite", $sqlconnect);
                        das feld date hat den typ DATETIME

                        mfG
                        Guido

                        Kommentar


                        • #13
                          oh, ich glaub ich weiss jetzt woran es gelegen hat:

                          durch die datumsformatierung im mysql-query werden die
                          einträge nicht richtig sortiert (glaube ich)!

                          kann mir das jemand bestätigen?

                          wie kann ich das datum denn sonst noch formatieren,
                          ausser im mysql-query?

                          danke im voraus

                          mfG
                          Guido

                          Kommentar


                          • #14
                            nenn einfach dein alias anders als die Spalte, und pass die Auswertung der Query an, schon funzt das:
                            date_format(...) as date_out
                            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


                            • #15
                              Danke, klappt super!!!

                              mfG
                              Guido

                              Kommentar

                              Lädt...
                              X