Datum manuell eingeben

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

  • Datum manuell eingeben

    Hallo zusammen,

    ich habe für mein Problem schon in bei Google und verschiedenen Foren nachgesehen (auch hier gesucht!), finde aber trotz hunderter Ergebnisseiten keine Lösung:

    Ich möchte dem User ermöglichen, ein beliebiges Datum im Format dd.mm.jjjj einzugeben, welches nachher in MySQL als Datum gespeichert werden soll.

    Ich finde haufenweise Lösungen für das automatisch generierte, heutige Datum ... aber nichts, wie ich aus dem vom User eingegebenen String im Texteingabefeld ein für MySQL nutzbares Datum hinbekomme.

    Für Euch Profis ist das wahrscheinlich eher langweilig, aber für mich als Anfänger eine schwer zu nehmende Hürde.

    Kann mir jemand eine Lösung bieten?

    Vielen Dank vorab

    PS: Habt bitte auch ein Herz für Forum-Neulinge die noch nicht mit allen Regeln hier vertraut sind.

  • #2
    Re: Datum manuell eingeben

    Original geschrieben von thommy2006

    Kann mir jemand eine Lösung bieten?
    fertige Lösung nicht, aber Lösungsweg vielleicht, wenn du uns sagst, was du bisher versucht hast.

    Kommentar


    • #3
      OK, ich habe ein Formular u.a. mit einem INPUT-FELD

      PHP-Code:
      <input type="text" name="datum" value=""
      Der vom User eingegebene Wert im Format dd.mm.jjjj soll nach dem Abschicken des Formulars an die Variable

      PHP-Code:
      $datum=$_GET['datum']; 
      übergeben werden.

      Anschließend soll der Wert der Variablen in die Datenbank geschrieben werden

      PHP-Code:
      INSERT INTO umsatz (datumVALUES ('$datum'
      Irgendwo zwischen Formular und Datenbank muß ja dann das Format

      dd.mm.jjjj

      in

      yyyy-mm-dd

      umgewandelt werden.

      Und da hapert's bei mir

      Kommentar


      • #4
        Du könntest es bspw. per explode() auseinandernehmen, und dann in der gewünschten Reihenfolge und mit dem gewünschten Trennzeichen wieder zusammensetzen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Danke wahsaga!

          Bei mir sieht's nun so aus:

          PHP-Code:
          $teilen=explode(".",$datum);
          $datum=$teilen[2]."-".$teilen[1]."-".$teilen[0];
          echo 
          $datum
          Klappt prima (auch das Speichern in MySQL!

          Kommentar


          • #6
            OffTopic:
            Und was passiert wenn ich Amerikaner bin und das amerikanische Datumformat eingebe?

            Kommentar


            • #7
              oder ich gebe einfach so ein: 25042006 oder 250406

              Kommentar


              • #8
                also ich nutze immer diese funktion:

                PHP-Code:
                function datetomysql($date) { // $date : tt.mm.jjjj
                    
                if (preg_match("/(\d{1,2})\.(\d{1,2})\.(\d{2,4})/"$date$hits)
                            && 
                checkdate($hits[2], $hits[1], $hits[3])) {
                        return 
                "{$hits[3]}-{$hits[2]}-{$hits[1]}";
                    }
                    else {
                        return 
                false;
                    }




                grrrrr dummes forum. vor die 3 ds in dem regulären ausdruck gehört jeweils ein backslash
                Zuletzt geändert von MarkusW; 25.04.2006, 14:14.

                Kommentar

                Lädt...
                X