timestamp umwandeln

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • timestamp umwandeln

    Quellcode

    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. ?>
    Alles anzeigen


    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.
  • 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

    Quellcode

    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:

    Quellcode

    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. ?>
    Alles anzeigen


    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.

    Quellcode

    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. ?>
    Alles anzeigen


    Quellcode

    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

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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jan Thurau ()