Datum aus 3 Textfeldern in Datenbank

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


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

      Comment


      • #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

        Comment


        • #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.

          Comment


          • #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

            Comment


            • #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.

              Comment


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

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

                Comment


                • #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 !

                  Comment


                  • #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.

                    Comment


                    • #11
                      wie sieht das Query aus???

                      Comment


                      • #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 ??

                        Comment


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

                          zeig mal den htmlcode von bearbeiter

                          Comment


                          • #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>

                            Comment


                            • #15
                              Hilfe!

                              Comment

                              Working...
                              X