Datum aus 3 Textfeldern in Datenbank

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

  • Datum aus 3 Textfeldern in Datenbank

    Hi.

    Wie bekomme ich ein eingegebenes Datum von einer HTML Seite (3 Textfelder: Tag, Monat, Jahr) in ein "date" Feld in einer MySQL Datenbank ???
    Das selbe müsste ich auch mit der Zeit machen, die ist textfeldmäßig in Stunde und Minute aufgeteilt. Wird dann wahrscheinlich vom Prinzip her dasselbe sein oder ?

  • #2
    normalerweise hat ein date-feld in mysql das format YYYY-MM-DD

    also mach das in der art:

    $datum = $_POST['jahr'].'-'.$_POST['monat'].'-'.'$_POST['tag'];

    natürlich mußt du abfragen, ob immer die korrekte länge eingegeben wurde

    gruss
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      $datum = $_POST['jahr']."-".$_POST['monat']."-".$_POST['tag'];
      Kissolino.com

      Kommentar


      • #4
        PHP-Code:
        $datum $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; 
        so, jetzt stimmts
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          OK, nur leider bekomme ich kein Datum angezeigt wenn ich mir die Variable anzeigen lasse.
          Habe bereits eine andere Variable in die Datenbank eingelesen, mit der funzt es einwandfrei. in dem Array "$_POST" sind doch angeblich alle Variablen gespeichert die aus dem HTML Formular übergeben werden....
          und die name=".." in den <form-tags> sind ja auch gleichzeitig die Variablen mit $ vornedran in PHP....also irgendwas funzt da nicht.....habs genauso gemacht wie bei der anderen Variable bei der es geht.

          Kommentar


          • #6
            dann schieb doch mal den quellcode rüber

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              OK hier der Code in der PHP Datei mit dem Formular:
              PHP-Code:
              <?php
                                      $abfrage_tag_id 
              mysql_query("SELECT MAX(tag_id) AS maxwert FROM tagesstatus");  // Abfrage nach der letzten ID in der Datenbank
                                      
              $data_tag_id mysql_fetch_array($abfrage_tag_id);
                                      
              ?>
                                      
                                      
              <!--------------  E R M I T T E L N   U N D   E I N F Ü G E N   D E R   U H R Z E I T  U N D   D E S   D A T U M S  --------------->                        
                                      
                                      &nbsp;Nr.:&nbsp;&nbsp;<input disabled maxlength="4" size="4" value="<?=$data_tag_id["maxwert"];?>" type="text" name="tag_id"></td>
                                  <td align="left" width="150">
                                      &nbsp;Datum:&nbsp;&nbsp;<input value="<?php echo( date("j") ); ?>" maxlength="2" size="2" type="text" name="tag">
                                      <input value="<?php echo( strftime("%m") ); ?>" maxlength="2" size="2" type="text" name="monat">
                                      <input value="<?php echo( date("Y") ); ?>" maxlength="4" size="4" type="text" name="jahr"></td>
              Hab mal das Auslesen der "tag_id" mit eingefügt, weil das ja funktioniert...

              Und hier die Auswertdatei:
              PHP-Code:
              ....

              $datum_heute $_POST['$jahr'].'-'.$_POST['$monat'].'-'.$_POST['$tag'];

              echo (
              "$datum_heute");


              $result=mysql_query("INSERT INTO tagesstatus (tag_id, tag_datum) VALUES ('$tag_id', '$datum_heute')") or die(mysql_error() );
              if (
              mysql_errno() == 0):
                echo 
              "Datensatz "mysql_insert_id(). " erfolgreich eingetragen";
              else:
                echo 
              "Fehler ".mysql_errno().": ".mysql_error();
              endif;
              ?> 
              Das ganze wird mittels "post" übertragen.

              Kommentar


              • #8
                $datum_heute = $_POST['$jahr'].'-'.$_POST['$monat'].'-'.$_POST['$tag'];
                Falsch!

                PHP-Code:
                $datum_heute $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; 

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  Falsch!

                  PHP-Code:
                  $datum_heute $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; 
                  Verdammt. Hätte ich auch selber draufkommen können. Danke !

                  Kommentar


                  • #10
                    Noch eine Frage:

                    Habe nun dasselbe mit dem Datum gemacht. Funktioniert auch soweit, in der Variable steht das korrekte drin. Aber wieso schreibt er es nicht in die Datenbank rein ?? Kommt keine Fehlermeldung....

                    PHP-Code:
                    $datum_heute $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; // Datumsformat umwandeln für Datenbank
                    $uhrzeit_heute $_POST['stunde'].':'.$_POST['minute'].':'."00"// Zeitformat umwandeln für Datenbank
                    echo ($uhrzeit_heute);


                    $result=mysql_query("INSERT INTO tagesstatus (tag_id, tag_datum, tag_stoerzeit) VALUES ('$tag_id', '$datum_heute', 'uhrzeit_heute')") or die(mysql_error() );
                    if (
                    mysql_errno() == 0):
                      echo 
                    "Datensatz "mysql_insert_id(). " erfolgreich eingetragen";
                    else:
                      echo 
                    "Fehler ".mysql_errno().": ".mysql_error();
                    endif;
                    ?> 
                    Habe auch schon versucht, die "00" wegzulassen. Aber das interessiert ihn nicht.

                    Kommentar


                    • #11
                      wie sieht das Query aus???

                      Kommentar


                      • #12
                        Vergiss es, ich bin blöd.
                        Kann vor lauter PHP Code schon keine Variablen mehr schreiben. Da fehlte ein "$" vor dem Variablennamen.....


                        Aber nochmal kurz was anderes:
                        PHP-Code:
                        <td align="left" width="300">&nbsp;Bearbeiter:&nbsp;&nbsp;<select name="bearbeiter">
                                            <?php
                                                $abfrage_bearbeiter 
                        "SELECT ma_name FROM mitarbeiter";  //Mitarbeiter aus Datenbank auslesen
                                                
                        $data_ma_name mysql_query($abfrage_bearbeiter); //Abfrage mit "mysql_query" in eine Variable schreiben
                                                
                        while($feld_ma_name mysql_fetch_array($data_ma_name))  // Schleife für Listenfeld wird solange durchlaufen
                                                                                                         // bis in Variable kein Datentyp mehr ist
                                                
                        {
                                                    echo 
                        "<option value=\"$feld_ma_name[bearbeiter]\">$feld_ma_name[ma_name]</option>\n";  // Ausgabe in Listenfeld
                                                
                        }
                                            
                        ?>
                                                </select></td>
                        Wieso bekomme ich keine Ausgabe der Variable des Listenfelds "$_POST['bearbeiter']" angezeigt ??

                        Kommentar


                        • #13
                          mal zu viel, mal zu wenig...

                          zeig mal den htmlcode von bearbeiter

                          Kommentar


                          • #14
                            PHP-Code:
                            <td align="left" width="300">&nbsp;Bearbeiter:&nbsp;&nbsp;<select name="bearbeiter">
                                                <?php
                                                    $abfrage_bearbeiter 
                            "SELECT ma_name FROM mitarbeiter";  //Mitarbeiter aus Datenbank auslesen
                                                    
                            $data_ma_name mysql_query($abfrage_bearbeiter); //Abfrage mit "mysql_query" in eine Variable schreiben
                                                    
                            while($feld_ma_name mysql_fetch_array($data_ma_name))  // Schleife für Listenfeld wird solange durchlaufen
                                                                                                             // bis in Variable kein Datentyp mehr ist
                                                    
                            {
                                                        echo 
                            "<option value=\"$feld_ma_name[bearbeiter]\">$feld_ma_name[ma_name]</option>\n";  // Ausgabe in Listenfeld
                                                    
                            }
                                                
                            ?>
                                                    </select></td>

                            Kommentar


                            • #15
                              Hilfe!

                              Kommentar

                              Lädt...
                              X