Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datumsformat Mysql

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Datumsformat Mysql

    Hallo,

    ich habe ein Problem und hoffe, dass mir jemand helfen kann.
    Ich versuche schon seit 2 Tagen das Datumsformat von mysql ins Deutsche Format (dd.mm.yyyy) ausgeben zu lassen ohne dass es funktioniert. Die Ausgabe erfolgt immer im mysql- Format, also yyyy-mm-dd
    Da es meine ersten Geh-Versuche in mysql sind, weiß ich nicht mehr weiter. Ich hab schon alles versucht, was hier im Forum stand, krieg es aber einfach nicht hin, vielleicht weiß jemand noch einen anderen Rat.

    Also nicht sauer sein, weil ich die Frage noch einmal stelle.
    Vielen Dank.
    Eure Kathleen

    Ich habe eine Mysql-Tabelle mit folgender Konfiguration:
    3 Spalten .

    1. Spalte mit den Namen „ID“ vom Typ INT mit 3 Zeichen, Attribute UNSIGNED, Extra AUTO_INCREMENT

    2. Spalte mit dem Namen „Termine“ vom Typ date

    3. Spalte mit dem Namen „texttermin“ vom Typ varchar(50) latin 1_german2_ci

    Hier der Code den ich geschrieben habe:

    PHP-Code:
    <?php 
    $sqlab 
    "SELECT DATE_FORMAT (datum, „%e.%m.%y”) AS datum FROM test;";
    $sqlab " SELECT CONCAT (Termine,' ',texttermin) FROM test ORDER BY Termine";

    $db_erg1 =mysql_query($sqlab);
    while (
    $dsatz mysql_fetch_assoc($db_erg1))


    {
        
        echo 
    "<ul>";
        foreach (
    $dsatz as $term)
        echo 
    "<li>$term</li>";
        echo 
    "</ul>";
        
    }




    ?>
    PS. Die Verbindung zur DB ist natürlich hergestellt!


  • #2
    Über 1. und 3. lässt sich streiten...

    Deine erste Query wird niemals ausgeführt, da gleich wieder überschrieben.

    Btw: Charset setzen, nachdem du durch bist ist auch ne geile Sache.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      $sqlab = "SELECT DATE_FORMAT (datum, „%e.%m.%y”) AS datum FROM test;";
      $sqlab = " SELECT CONCAT (Termine,' ',texttermin) FROM test ORDER BY Termine";
      Zeile 2 überschreibt Zeile 1. Folglich versuchst Du exakt gar nicht an Umwandlung/.
      --

      „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


      • #4
        Zitat von tkausl Beitrag anzeigen
        Über 1. und 3. lässt sich streiten...

        Deine erste Query wird niemals ausgeführt, da gleich wieder überschrieben.

        Btw: Charset setzen, nachdem du durch bist ist auch ne geile Sache.
        Stimmt das mit Charset ist ein Fehler!!

        Kommentar


        • #5
          Zitat von nikosch Beitrag anzeigen
          Zeile 2 überschreibt Zeile 1. Folglich versuchst Du exakt gar nicht an Umwandlung/.
          Wenn ich die Zeilen tausche, dann kommt keine Ausgabe.
          Wie ich schon sagte das sind meine ersten Versuche.

          Gruß
          Kathl

          Kommentar


          • #6
            Der korrekte Query wäre auch
            PHP-Code:
            $query "SELECT DATE_FORMAT (datum, '%e.%m.%y') AS datum FROM test;" 
            Wenn du einen Editor mit ordentlichem Syntax-Highlithing verwendest, fällt dir dieser Fehler sofort auf.

            Meine Empfehlung: Datumswerte immer im originalen Format auslesen und erst innerhalb PHP (oder des Templates, siehe Twig) formatieren. Das ist - für dich im Moment - jedoch noch "Fortgeschritten".
            GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

            Kommentar


            • #7
              Wenn ich die Zeilen tausche,
              Ohne ein grundlegendes Sprachverständnis geht es nicht.


              Lerne Grundlagen | Quellensammlung
              --

              „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


              • #8
                Zitat von nikosch Beitrag anzeigen
                Ohne ein grundlegendes Sprachverständnis geht es nicht.


                Lerne Grundlagen | Quellensammlung
                Dank für deine Antwort.

                Kommentar


                • #9
                  Hallo,

                  ich habe es ALLEINE geschafft dass das Datum im Deutschen Format rauskommt.
                  Wie bekommt man es hin, dass der „Texttermin“ hinter das Datum („Termine“) kommt.
                  Wäre schön wenn mir da einer helfen könnte!

                  Hier der geänderte Code:

                  PHP-Code:
                  $abfrage "SELECT DATE_FORMAT (Termine, '%d.%m.%y') AS datum, texttermin FROM test ORDER BY Termine";



                  $db_erg1 mysql_query($abfrage);


                  while (
                  $dsatz mysql_fetch_assoc($db_erg1))


                  {
                      echo 
                  "<ul>";
                      foreach (
                  $dsatz as $term)
                      echo 
                  "<li>$term</li>";
                      echo 
                  "</ul>";
                      

                  Gruß die verzweifelte Kathleen

                  Kommentar


                  • #10
                    Hallo und willkommen im Forum.

                    Hier im Forum gilt, dass wir grundlegendes nicht aus dem Handbuch vorlesen.
                    Mit der Funktion var_dump(); kannst du dir den Inhalt von z.B. Arrays ausgeben lassen. Nützlich um sich die Struktur anzusehen, um zu sehen auf was für Indizes man zugreifen kann und wie der dazugehörige Wert aussieht.
                    Dein $dsatz ist ein Array, die Spaltennamen(bzw Alias) aus deiner Abfrage sind die Indizes (durch die Funktion mysql_fetch_assoc).

                    Viel Erfolg: http://www.schattenbaum.net/php/array.php


                    Deine foreach brauchst du eigentlich nicht.
                    Wie bekommt man es hin, dass der „Texttermin“ hinter das Datum („Termine“) kommt.
                    Was bedeutet "hinter"? Einfach drangehangen, neuer Punkt in der Auflistung?
                    Dadurch, dass du für jeden gefundenen Datenbankeintrag eine neue Liste machst, ist das nicht so einfach herauszulesen.


                    Standardtext für die Datenbankverbindung:
                    Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
                    Durch einen Wechsel auf mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections schützen.
                    Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
                    Relax, you're doing fine.
                    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                    Kommentar


                    • #11
                      Hallo,

                      ich habe es hinbekommen!

                      Hier den Code, falls jemand ihn braucht.

                      Gruß
                      Kathl

                      PHP-Code:
                      $abfrage "SELECT DATE_FORMAT (Termine, '%d.%m.%y') AS datum, texttermin FROM test ORDER BY Termine";

                      $db_erg1 mysql_query($abfrage);

                      while (
                      $dsatz mysql_fetch_assoc($db_erg1))


                      {
                          echo 
                      "<ul>";
                          echo 
                      "<li>";
                          echo 
                      $dsatz["datum"] . " " $dsatz["texttermin"];
                          echo 
                      "</li>";
                          echo 
                      "</ul>";
                          

                      Kommentar

                      Lädt...
                      X