xxxMaster: Datum und Zeit aus DB in Unix umformen

Hallo erstmal!

Kennt ihr irgeneine Mehode, wie ich viele Datensätze aus einer Db der Spalten "Datum" und "Zeit" in eine Spalte mit dem Unix-Format "Unix" umforme? Kennt ihr das einen kleinen Code?

Danke, xxxMaster

  1. Kennt ihr irgeneine Mehode, wie ich viele Datensätze aus einer Db der Spalten "Datum" und "Zeit" in eine Spalte mit dem Unix-Format "Unix" umforme?

    Du meinst Tabelle, nicht Datenbank und Felder nicht Spalten".

    Mit Unix meinst du vermutlich einen Unix-Timestamp.

    Kennt ihr das einen kleinen Code?

    Möglicherweise.

    Was dein Problem mit PHP zu tun hat, leuchtet mir vorerst nicht ein.

    Willst du die Daten live beim Auslesen umnuckeln oder permanent in der Tabelle verändern?

    Egal wie herum: dein Problem ist immer noch nicht PHP-seitig sondern hat etwas mit der Datenbank zu tun.

    Welches DBMS verwendest du?

    Warum willst du das tun, was du tun willst? Was versprichst du dir von einem Unix-Timestamp anstatt einem anderen Datentyp wie etwa DATETIME?

    1. Ja ich meine 1. Variante:

      1. Datenbank abrufen
      2. Alle Einträge auswählen
      3. num rows...
      4. for($i=1; $i<=$abfrage_anzahl...
      5. Dann hier fetch_assoc();

      Aber jetzt kommt mein Problem!
      Ich speichere halt den wert in variablen

      6. $date = $abfrage['datum'];
      7. $time = $abfrage['zeit'];

      Dann hier das irgendwie in Unix konvertieren - ???????

      8. Wieder Datenbank abrufen und den veränderten Wert des noch leeren Feldes Unix updaten, usw...

      Nur wie kovertiere ich das??????

      Ciao, xxxMaster

      1. Wie schon gesagt, dein Problem ist ein reines Datenbankproblem, es hat mit PHP genau nichts zu tun.

        Gewöhnlicherweise ist das ein Einzeiler (eine UPDATE-Anweisung), im Optimalfall ist das überhaupt nicht notwendig.

        Meine Frage hast du aber immer noch nicht beantwortet:

        • Welches DBMS verwendest du?
        • In welchen Datentypen liegen Datum und Zeit aktuell vor?
        • Was versprichst du dir davon?
        1. 1. mySQL
          2. Text
          3. Das ich die Zeit in Unix angegeben habe.

          Datum und Uhrzeit sind gegeben, ich muss sie in Unix umwandeln...

          1. Hi!

            1. mySQL

            Siehe MySQL-Handbuch, Kapitel Funktionen, speziell Datums- und Zeit-Funktionen und suche auf der Seite dort nach Unix. Da wirst du zwei Funktionen finden, die von und zu Unix-Timestamps konvertieren können.

            1. Das ich die Zeit in Unix angegeben habe.

            Eher, dass du die Zeit mit PHP weiterverarbeiten kannst, weil das mit Unix-Timestamps arbeitet.

            Lo!

            1. Eher, dass du die Zeit mit PHP weiterverarbeiten kannst, weil das mit Unix-Timestamps arbeitet.

              Das ist imho aber kein schlüssiger Grund, die Daten auch in der Datenbank so vorzuhalten - auch wenn das sogar große PHP/MySQL-Projekte so handhaben.

              Die Daten in der Datenbank als DATETIME abzulegen und bei der Ausgabe zu konvertieren ist imho sinnvoller, sofern man nachhaltig Daten ablegen möchte und nicht irgendwann auf das Jahr-2038-Problem stoßen will ;)

              1. Hi!

                Eher, dass du die Zeit mit PHP weiterverarbeiten kannst, weil das mit Unix-Timestamps arbeitet.
                Das ist imho aber kein schlüssiger Grund, die Daten auch in der Datenbank so vorzuhalten - auch wenn das sogar große PHP/MySQL-Projekte so handhaben.

                Ich entnehme seinem Posting nicht, dass er das vorhat, sondern eher, dass er:

                Die Daten in der Datenbank als DATETIME abzulegen und bei der Ausgabe zu konvertieren ist imho sinnvoller, sofern man nachhaltig Daten ablegen möchte und nicht irgendwann auf das Jahr-2038-Problem stoßen will ;)

                ... und sie bei der Abfrage (SELECT) als Unix-Timestamp haben möchte. Und wenn er sie sowieso als Unix-Timestamp weiterverarbeitet, sind Daten außerhalb dessen Wertebereichs sowieso uninteressant. Wenn er jedoch außer einer Formatierung keine weitere Berechnung in PHP anstellen will, kann er auch gleich die passende Formatierung mittels MySQLs Datums- und Zeit-Funktionen vornehmen.

                Lo!

            1. mySQL

            UPDATE kennst du bereits vermute ich?

            Aktualisiere alle Felder, befülle das Feld für den Unix-Timestamp mit dem durch Datumsfunktionen (siehe Link unten) behandelten Daten aus den anderen beiden Feldern.

            1. Text

            TEXT als Datentyp für an Datum oder eine Uhrzeit sind in jedem Fall der Overkill.

            In welcher Form liegen die Daten dort vor?

            1. Das ich die Zeit in Unix angegeben habe.

            Das ist mir schon klar, aber warum kein vernünftiger Datentyp wie etwa DATETIME - den Inhalt kannst du beim Ausgeben dann immer noch mit entsprechenden Funktionen verstümmeln oder in dein Wunschformat bringen.

          2. Hi,

            Datum und Uhrzeit sind gegeben, ich muss sie in Unix umwandeln...

            Lerne bitte mal, dich präzise auszudrücken.

            "In Unix umwandlen" ist eine absolut blödsinnige Formulierung.

            Das mag dir vielleicht spitzfindig und kleinlich erscheinen - aber es ist eine bekannte Tatsache, dass du ein Problem sehr viel wahrscheinlicher selbst gelöst bekommst, wenn du es auch präsize formulierst.

            *Denke* also bitte schon präsize - dann wird auch das Lösen solcher Problemchen einfacher.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]