Ankündigung

Einklappen
Keine Ankündigung bisher.

Timestamp Formatierung

Einklappen

Neue Werbung 2019

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

  • Timestamp Formatierung

    Hallo Leute,

    ich bitte Euch mir mal auf die Sprünge zu helfen.
    Irgendwie trampel ich auf der Stelle rum und seh wohl den Wald vor Bäumen nicht.

    Ich gebe mir das Ergebnis einer SQL Abfrage in einer HTML Tabelle aus. Eine Spalte enthält einen Unix Timestamp.

    Ich würde gern den Timestamp in der Ausgabe formatieren.

    bis jetzt hab ich folgendes zusammengebaut.

    PHP-Code:
    <?
    include 'config.inc.php';
    $dbverbindung = mysql_connect ($dbHost, $dbUser, $dbPassword);
    $dbanfrage = "SELECT `username`, `subject`, `message`, `time` FROM `table1` ORDER BY `table1`.`time` DESC LIMIT 0 , 60 ";
    $result = mysql_db_query ($dbName, $dbanfrage, $dbverbindung);

                    
      

    echo "<table border=\"1\">";

    while ($ausgabe = mysql_fetch_array ($result))
    {
    print("<tr border=\"2\"><td width=100>$ausgabe[username]</td><td>$ausgabe[subject]</td><td>$ausgabe[message]</td><td>$ausgabe[time]</td></tr>");
    }

    echo "</table>";
    ?>
    Könnt Ihr mir bitte sagen wie ich den Timestamp in der While Schleife formatiert bekomme?

    Danke
    Markus


  • #2
    Ich würde gern den Timestamp in der Ausgabe formatieren.
    Sehr präzise.

    Bitte benutze die Forensuche, dieses Problem wurde nämlich hinreichend behandelt und ausführlich in allen seinen Lösungsmöglichkeiten diskutiert.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Zitat von pohlem Beitrag anzeigen
      Könnt Ihr mir bitte sagen wie ich den Timestamp in der While Schleife formatiert bekomme?
      Per date beispielsweise. Und ob das in einer Schleife stattfindet, hat damit gar nichts zu tun.

      Kommentar


      • #4
        Benutze nicht
        PHP: mysql_db_query - Manual
        sondern
        PHP: mysql_select_db - Manual
        und dann
        PHP: mysql_query - Manual

        Wenn man unsinnigerweise Unix-Timestamps in Mysql-Tabellen hat, dann nimmt man
        PHP: date - Manual
        zum Formatieren.

        Besser sind aber die Spaltenformate date und datetime, die man mit DATE_FORMAT() gleich richtig formatiert ausgeben kann.
        MySQL :: MySQL 5.1 Referenzhandbuch :: 12.5 Datums- und Zeitfunktionen
        PHP-Code:
        if ($var != 0) {
          
        $var 0;

        Kommentar


        • #5
          Das stimmt schon, leider kann ich die Struktur der Tabelle nicht ändern, da diese so vorgegeben ist.

          Im Normalfall geb ich das ganze aus mit:
          date("d.m.Y H:i",$ausgabe[time])

          Nur ich bekomm das nicht in die Ausgabe eingebunden.

          Da stecke ich irgendwie fest.

          LG

          Kommentar


          • #6
            Da stecke ich irgendwie fest.
            Das kann man oben aber nicht sehen. Wenn dann also realen Code liefern.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von pohlem Beitrag anzeigen
              Nur ich bekomm das nicht in die Ausgabe eingebunden.

              Da stecke ich irgendwie fest.
              Und jetzt - sollen wir aus dem Kaffeesatz lesen, wo dein Problem liegt bzw. was du falsch machst ...?

              Kommentar


              • #8
                print("<tr border=\"2\">
                Setz das in einfache Hochkommas, dann musst du die Doppelhochkommas der HTML-Tags nicht escapen:

                PHP-Code:
                echo '<tr border="2"> 
                <td width=100>
                da fehlen die Doppelhochkommas

                PHP-Code:
                $ausgabe[username]
                // ist falsch. Array-Keys gehören in Hochkommas:
                $ausgabe['username'
                Also setz den String erstmal mal ordentlich zusammen.
                PHP-Code:
                if ($var != 0) {
                  
                $var 0;

                Kommentar


                • #9
                  Okay,
                  ich hab jetzt einiges davon ausprobiert. die Hochkommas um die Keys: $ausgabe['username'] gehen nicht. dann wird nichts mehr ausgegeben.

                  Ich hab jetzt das ganze so zusammengebaut:

                  PHP-Code:
                  include 'config.inc.php';
                  $dbverbindung mysql_connect ($dbHost$dbUser$dbPassword);
                  $dbanfrage "SELECT `username`, `subject`, `message`, FROM_UNIXTIME(`time`)as time FROM `table1` ORDER BY `table1`.`time` DESC LIMIT 0 , 60 ";
                  $result mysql_db_query ($dbName$dbanfrage$dbverbindung);
                  echo 
                  "<table border='1'>";
                  while (
                  $ausgabe mysql_fetch_array ($result))
                  {
                  print(
                  "<tr><td width='100'>$ausgabe[username]</td><td>$ausgabe[subject]</td><td>$ausgabe[message]</td><td width='100'>$ausgabe[time]</td></tr>");
                  }
                  echo 
                  "</table>"
                  So funktioniert es zumindest und der Timestamp wird auch formatiert (lesbar) ausgegeben.

                  LG
                  Markus

                  Kommentar


                  • #10
                    die Hochkommas um die Keys: $ausgabe['username'] gehen nicht. dann wird nichts mehr ausgegeben.
                    Dann hast du was falsch gemacht.

                    Code:
                     FROM_UNIXTIME(`time`)as time
                    MySQL :: MySQL 5.1 Reference Manual :: 11.7 Date and Time Functions

                    PHP-Code:
                    print("<tr><td width='100'>$ausgabe[username]</td><td>$ausgabe[subject]</td><td>$ausgabe[message]</td><td width='100'>$ausgabe[time]</td></tr>"); 
                    =>
                    PHP-Code:
                    echo '<tr><td width="100">' $ausgabe['username'] . '</td>...'
                    Signatur:
                    PHP-Code:
                    $s '0048656c6c6f20576f726c64';
                    while(
                    $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                    Kommentar


                    • #11
                      Dann mach ich jetzt den Archimedes.
                      Heureka, ich habs!

                      Ich glaub ich hab irgendwie alles verpatzt heut.

                      Danke nochmals.

                      Kommentar

                      Lädt...
                      X