timestamp umwandeln

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • timestamp umwandeln

    Source Code

    1. <?php
    2. $timestamp = time();
    3. $conn_id = mysql_connect ("localhost", "user", "password");
    4. $ergebnis = mysql_db_query ("db-name", "select news_extended,news_datestamp from fusions2511_news", $conn_id);
    5. echo "Folgende News sind enthalten:<br>\n";
    6. for ($i = 0; $i < mysql_num_rows ($ergebnis); $i++)
    7. {
    8. echo mysql_result ($ergebnis, $i, "news_extended") . "<br>\n";
    9. }
    10. for ($i = 0; $i < mysql_num_rows ($ergebnis); $i++)
    11. {
    12. echo mysql_result ($ergebnis, $i, "news_datestamp") . "<br>\n";
    13. }
    14. mysql_close ($conn_id);
    15. ?>
    Display All


    Inhalt der news_extended und news_datestamp Spalte werden ausgegeben.
    Der Inhalt der news_datestamp ist ja jeweils der timestamp, wie kriege ich es jetzt noch hin den timestamp in ein Datum und eine Uhrzeit umzuwandeln, also wie muss ich es in den Code implementieren?

    Danke schonmal.
  • Tim wrote:

    Sofern es sich um einen PHP-Timestamp handelt, kannst du die PHP-date()-Funktion nutzen:

    Source Code

    1. echo date('d.m.Y, H:i', $timestamp);

    ... würde ausgeben: 11.11.2011, 19:30


    Ich muss es allerdings noch hinbekommen, dass der timestamp, der eben in der Spalte steht in der Variable $timestamp gespeichert wird. Wie krieg ich das nun hin?
  • zugegeben, ich bin kein PHP-Gott, aber die Lösung, die MySQL-Abfrage per for-Schleife auszugeben, halte ich nicht für besonders sinnvoll. Die gängigste Variante ist eigentlich per while-Schleife

    Source Code

    1. while ($row = mysql_fetch_assoc($ergebnis)) {
    2. echo $row['news_datestamp']; // nur der timestamp
    3. echo date("j.m.Y",$row['news_datestamp']); //timestamp sauber formatiert
    4. }
  • Ich würde gleich mit einem Objekt arbeiten, zum Beispiel:

    Source Code

    1. <?php
    2. // set default values
    3. define('SQL_SERVER', 'XXX');
    4. define('SQL_SERVER_USER', 'XXX');
    5. define('SQL_SERVER_USER_PASSWORD', 'XXX');
    6. define('SQL_SERVER_DATABASE', 'XXX');
    7. define('SQL_SERVER_DATABASE_TABLE', 'XXX');
    8. // connect to sql server
    9. $connectionID = mysql_connect(SQL_SERVER, SQL_SERVER_USER, SQL_SERVER_USER_PASSWORD) or die('Verbindungsfehler: ' . mysql_error());
    10. // change database
    11. mysql_select_db(SQL_SERVER_DATABASE, $connectionID) or die('Datenbank nicht gewechselt: ' . mysql_error());
    12. // set sql statement
    13. $sql = "SELECT news_extended, news_datestamp
    14. FROM ".SQL_SERVER_DATABASE_TABLE;
    15. // select news
    16. $result = mysql_query($sql, $connectionID) or die('Statement nicht ausgefuehrt: ' . mysql_error());
    17. // check for entries
    18. if (mysql_num_rows($result) == 0) die('Keine News gefunden');
    19. // fetch result
    20. while ($object = mysql_fetch_object($result)) {
    21. echo $object->news_extended;
    22. echo date('d.m.Y, H:i', $object->news_datestamp);
    23. }
    24. // close connection
    25. mysql_close($connectionID);
    26. ?>
    Display All


    Die entsprechenden Angaben (SQL_SERVER, ...) müssen den Umständen angepasst werden.
  • @Tim: Danke es funktioniert bis hierhin, nun will ich eine Sortierung nach dem timestamp.

    Source Code

    1. <?php
    2. // set default values
    3. define('SQL_SERVER', 'XXX');
    4. define('SQL_SERVER_USER', 'XXX');
    5. define('SQL_SERVER_USER_PASSWORD', 'XXX');
    6. define('SQL_SERVER_DATABASE', 'XXX');
    7. define('SQL_SERVER_DATABASE_TABLE', 'XXX');
    8. // connect to sql server
    9. $connectionID = mysql_connect(SQL_SERVER, SQL_SERVER_USER, SQL_SERVER_USER_PASSWORD) or die('Verbindungsfehler: ' . mysql_error());
    10. // change database
    11. mysql_select_db(SQL_SERVER_DATABASE, $connectionID) or die('Datenbank nicht gewechselt: ' . mysql_error());
    12. // set sql statement
    13. $sql = "SELECT news_datestamp, news_extended
    14. FROM .SQL_SERVER_DATABASE_TABLE. ORDER BY news_datestamp DESC";
    15. // select news
    16. $result = mysql_query($sql, $connectionID) or die('Statement nicht ausgefuehrt: ' . mysql_error());
    17. // check for entries
    18. if (mysql_num_rows($result) == 0) die('Keine News gefunden');
    19. // fetch result
    20. while ($object = mysql_fetch_object($result)) {
    21. echo date('d.m.Y, H:i', $object->news_datestamp);
    22. echo $object->news_extended;
    23. }
    24. // close connection
    25. mysql_close($connectionID);
    26. ?>
    Display All


    Source Code

    1. $sql = "SELECT news_datestamp, news_extended
    2. FROM .SQL_SERVER_DATABASE_TABLE. ORDER BY news_datestamp DESC";


    Das wird irgendwie nicht erkannt, mir wird eine Fehlermeldung angezeigt:

    Statement nicht ausgefuehrt: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. ORDER BY news_datestamp DESC' at line 2

    Was ist daran falsch?

    EDIT: Also wenn ich fusions2511_news statt .SQL_SERVER_DATABASE_TABLE. benutze funktioniert es, wie kriege ich es denn hin, dass es mit dem .SQL_SERVER_DATABASE_TABLE. ORDER BY funktioniert?
  • Der Code muss so heißen:


    $sql = "SELECT news_datestamp, news_extended
    FROM ".SQL_SERVER_DATABASE_TABLE." ORDER BY news_datestamp DESC";


    (die Konstante ist bei dir als String in dem String, die Tabelle wäre also "SQL_SERVER_DATABASE_TABLE" und nicht der Wert der Konstante.

    Bei MySQL Fehlern ist es meistens schlau, direkt den Query mit anzuschauen, bei dem die Anfrage fehlschlägt. Also wirklich den Query, den die Datenbank abarbeitet. Also in dem die() einfach nach mysql_error() noch $sql ausgeben lassen.
    Jan Thurau
    Software and Systems Engineer
    janthurau.de

    [Blocked Image: http://www.pageheroes.com/media/image/pageheroes_logo.png] - We get your page working!

    The post was edited 1 time, last by Jan Thurau ().