Höchstes Timestamp als Datum auslesen

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

  • Höchstes Timestamp als Datum auslesen

    Hi,

    Ich habe in meiner Datenbank 1Timestamp je Zeile.
    Wie kann ich das höchste Timestamp auslesen und dann in ein normales Datum umwandeln (z.B 11 März 2004) ?


    tschekowski

  • #2
    Lösungsansatz

    Hi,

    folgendes sollte Dir weiterhelfen
    (wenn Du eine Lösung von MySQL+PHP suchst)

    SQL-Teil:
    $sql=mysql_query("Select stamp from table order by stamp desc limit 1 ");

    PHP-Teil:
    echo date ("j F Y", mysql_result($sql, 0, "stamp"));


    grüße

    daniel

    Kommentar


    • #3
      das geht auch ohne php bei der datumsformatierung. einfach DATE_FORMAT() unter sql verwenden.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        @Abraxax:

        du meinst in die Datenbank kein Timestamp machen, sondern gleich das Datum ?

        Kommentar


        • #5
          nein. du kannst entweder einen UNIX-timestamp ablegen in einem VARCHAR-oder INT-feld. oder einen mysql-timestamp vom feldtyp TIMESTAMP. oder als DATETIME-feldtyp. aber das nur am rande.

          beim auslesen kannst du das feld aber direkt von der DB formatieren lassen. das macht die funktion DATE_FORMAT(). hast du einen UNIX-timestamp, brauchst du noch FROM_UNIXTIME().

          mehr dazu findest du hier, genauer gesagt sogar hier .
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            ich vertehs nicht ganz - könntest du mal ein Beispiel posten ?

            Kommentar


            • #7
              das steht doch alles im manual drin!
              Code:
              mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
                      -> 'Saturday October 1997'
              mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
                      -> '22:23:00'
              mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                                        '%D %y %a %d %m %b %j');
                      -> '4th 97 Sat 04 10 Oct 277'
              mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                                        '%H %k %I %r %T %S %w');
                      -> '22 22 10 10:23:00 PM 22:23:00 00 6'
              mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
                      -> '1998 52'
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                ich hab jetzt mal folgendes gemacht....

                PHP-Code:
                $sql mysql_query ("SELECT max(letzte_Aenderung) FROM $tablename");
                $zeile mysql_fetch_array($sql);
                $timestamp=$zeile['max(letzte_Aenderung)'];

                $zeit=date ("d.m.Y""$timestamp"); 

                letzte_Aenderung ist der Spaltenname mit dem Timestamp(10) drin

                da kommt dann aber für zeit was mit 1982 raus....

                Kommentar


                • #9
                  Original geschrieben von tschekowski
                  da kommt dann aber für zeit was mit 1982 raus....
                  jetzt möchtest du dir noch klar machen, dass das format TIMESTAMP von mysql, und der unix-timestamp, den die php-funktion date als parameter erwartet, zwei vollkommen unterschiedliche formate sind.

                  entweder lässt du das datum schon durch mysql formatieren, oder du lässt es dir von mysql in einen unix-timestamp umgewandelt zurückgeben.


                  beides findest du unter http://www.mysql.com/doc/de/Date_and...functions.html erklärt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    beides findest du unter http://www.mysql.com/doc/de/Date_and...functions.html erklärt.
                    .... diesen link hatte ich dir @tschekowski ja auch schon gepostet. hast du den immer noch nicht durchgelesen?
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      klar hab ich mir den Link durchgelesen - ich verstehs aber nicht ganz was da wie genau gemacht wird - könnte nicht vielleicht jemand ein Beispiel oder so etwas in der Art posten ?

                      thx

                      Kommentar


                      • #12
                        1. habe ich ein beispiel gepostet.

                        2. sind auf der seite weitere gute beispiele

                        3. darfst du das auch ausprobieren.

                        4. ist es dir auch nicht untersagt, selbst kurz nachzudenken. ;-)
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          ok, mein quellcode sieht jetzt so aus:

                          PHP-Code:
                          $date=mysql_query ("SELECT  DATE_FORMAT(Artikeldaten.letzte_Aenderung, '%d. %M %Y') as datum FROM $tablename WHERE max(letzte_Aenderung)");
                          print (
                          "$date"); 
                          Das Problem istjetzt aber, dass er für $date gar nicht ausgibt...

                          Kommentar


                          • #14
                            Guck nochmal bei deiner letzten Query in diesem Thread nach, da hast dus schon richtig gemacht.

                            Kommentar


                            • #15
                              bin mir jetzt nicht ganz sicher ob du das meinst....

                              bekomme so aber gar kein ergebnis

                              PHP-Code:

                              $sql 
                              mysql_query ("SELECT max(letzte_Aenderung) FROM $tablename"); 
                              $zeile mysql_fetch_array($sql); 
                              $timestamp=$zeile['max(letzte_Aenderung)'];

                              $zeit=date (d.m.Y$timestamp); 

                              Kommentar

                              Lädt...
                              X