Datum sortieren ohne Jahreszahl

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

  • Datum sortieren ohne Jahreszahl

    Hallo!
    Habe heute schon den ganzen Tag im Forum gesucht aber nichts passendes gefunden. Hier erst mal meine Abfrage:
    PHP-Code:
    $rs MYSQL_QUERY("SELECT Distinct     
                      sid, 
                                        name,
                                        vorname, 
                                        DATE_FORMAT(geburtsdatum, '%d.%m.%Y')
                                        FROM ...
                                        where 
                                        (geburtsdatum like '%
    $suche%') and
                                        geburtsdatum like '%'
                                        order by geburtsdatum ASC"
    ); 
    Ich möchte jetzt aber nur nach Tag und Monat sortieren lassen ohne die Jahresangebe. Die Jahreszahl soll aber wenn möglich mit ausgegeben werden. In der Datenbank stehen die Einträge unter "Date" drin.

    Freue mich auf eure Hilfe! Danke

  • #2
    du kennst date-format doch schon---

    Kommentar


    • #3
      Ja, die Formatierung von "2004-04-11" zu "11.04.2004" aber bei der Sortierung, die ich nur kenne, kann ich es nicht realisieren.
      Ich habe z.B.
      1. 22.04.1981
      2. 15.11.1981
      3. 02.01.1983
      4. 10.07.1984
      diese Sortierung die ja auch richtig ist, nur soll es nach Tag und Monat geschehen:
      1. 02.01.1983
      2. 22.04.1981
      3. 10.07.1984
      4. 15.11.1981
      Dies bekomme ich nicht hin!

      Kommentar


      • #4
        hab nen guten tag:

        DATE_FORMAT(geburtsdatum, '%m-%d') sort

        muss noch ins select

        und bei ordy by kommt dann

        sort rein.

        Kommentar


        • #5
          Dann habe ich aber keine Jahreszahlausgabe mehr wenn ich nur Tag und Monat formatiere!
          Gibt es nicht eine Möglichkeit zu sagen, das ich nur die ersten 5 Stellen des Geburtsdatums sortieren kann?

          Kommentar


          • #6
            guck dir mal genau an, was ich gemacht hab.

            Kommentar


            • #7
              PHP-Code:
              $rs MYSQL_QUERY("SELECT Distinct     
                                sid, 
                                                  name,
                                                  vorname, 
                                                  DATE_FORMAT(geburtsdatum, '%m-%d')
                                                  FROM steckbrief  
                                                  where 
                                                  (geburtsdatum like '%
              $suche%') and
                                                  geburtsdatum like '%'
                                                  order by geburtsdatum ASC"
              );

                  while (
              $row mysql_fetch_row($rs)) {    $i =0;    // Zählvariable
                  
              $i=$i+$wo;
                  while (
              $row mysql_fetch_row($rs)) {
                      
              $i++;
                      
              $zaehl++;
                      if((
              $i%2)==1$bgcolor="#DDDDDD";
                      else 
              $bgcolor="#CCCCCC"
              Ausgabe:
              12-20
              04-22
              11-15
              01-02
              02-27
              07-10

              Du hast den Monat jetzt zu erst, aber das Jahr muß er immer noch mit bearbeiten. Wenn ich SORT_ASC mit einbinde, schreibt er mir einen Fehler in der while Schleife aus! Keine Ahnung warum aber die Sortierung nach ASC & DESC funktioniert!

              Kommentar


              • #8
                lies dir mein posting bitte abermals durch!

                Kommentar


                • #9
                  Meinst du so:

                  $rs = MYSQL_QUERY("SELECT Distinct
                  sid,
                  name,
                  vorname,
                  DATE_FORMAT(geburtsdatum, '%d.%m.%Y'),
                  DATE_FORMAT(geburtsdatum, '%m-%d') sort
                  FROM steckbrief
                  where
                  (geburtsdatum like '%$suche%') and
                  geburtsdatum like '%'
                  order by geburtsdatum ASC");

                  Kommentar


                  • #10
                    nähungsweise.

                    wenn du mir jetzt noch sagst, warum du immernoch nach dem geburtsdatum sortierst!

                    also lies dir mein Post erneut duch.

                    Kommentar


                    • #11
                      sicherlich nicht,

                      verschiebe

                      DATE_FORMAT(geburtsdatum, '%m-%d') sort

                      in dein order by, dann bist du dem ziel schon recht nahe.

                      PS. was sagt den z.b. PHPmyAdmin von deinem sql-string?

                      Kommentar


                      • #12
                        OK jetzt habe ich es verstanden und es funktioniert!
                        Mein Gehirn ist nicht das schnellste. Danke euch!!!

                        Kommentar


                        • #13
                          sicherlich wohl.

                          der einzige unterschied zu deinem code ist, dass ich (zum nachvollziehen), das sort selecten lasse.

                          Kommentar


                          • #14
                            wo ich allerdings momentan auf dem schlauch stehe.

                            was bewirkt eigentlich diese "sort"?

                            irgendwie kann ich in dieser form nichts in der doku finden. bisher dachte ich immer das ist "nur" für einen index da.

                            Kommentar


                            • #15
                              sort ist der alias für das datetime, was du direkt im orderby stehen hast, und ich aus genanntem grund "ausgelagert" habe,

                              Kommentar

                              Lädt...
                              X