problem mit dynamisch generiertem Formular

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

  • problem mit dynamisch generiertem Formular

    Hallo an Alle,

    ich hab seit geraumer zeit ein problem mit einem formular, das ich dynamisch aus MySQL-DB-Einträgen generiere -
    und finde keine lösung!!

    hier das problem: ein notdienstkalender soll über formulare editiert werden können.

    zur anzeige der db-einträge habe ich erst eine monatsauswahl vorgeschaltet. wähle ich z.B: März aus, wird mittels eines php-skripts
    ein formular erzeugt, daß soviele inputfelder enthält wie gefundene Datensätze.

    PROBLEM 1: Die Namen der Inputfelder haben immer den gleichen Namen, deshalb wird nur der wert des letzten feldes übergeben.
    Wenn ich jedoch die Inputfeldnamen über einen Zähler durchzähle (z.B: ID_1, ID_2,...) dann hab ich das problem, daß die variablennamen nicht mehr mit den datenbankfeldnamen übereinstimmen bzw. weiß nicht wie ich die übergebenen werte in einen array packen, um dann wieder die datenbank zu aktualisieren.


    Hier der CODE zum Erzeugen des Formulars:

    PHP-Code:
    $sql " SELECT ID, datum, apoID1, apoID2, MONTH(datum) AS monat, DAYofMONTH(datum) AS tag, YEAR(datum) as jahr ";
        
    $sql .= "FROM $table ";
    $sql .= "WHERE MONTH(datum) = '$monatSelect' ";
        
    $sql .= "ORDER BY datum ";
        
        
    $rs mysql_query($sql$cid);
        if (
    mysql_error()) { print "Database Error: $sql " mysql_error(); }
        
    print 
    "<form action=\"manage_edit2.php\" method=\"post\">\n";
    print 
    "<input type=\"hidden\" name=\"step\" value='1'>\n";
            
    $anzahl mysql_num_rows($rs);
    $row mysql_fetch_array($rs);
        for (
    $i=1$i<=$anzahl$i++) 
        {
            
    $ID $row["ID"];
            
    $datum $row["datum"];
            
    $tag $row["tag"];
            
    $monat $row["monat"];
            
    $jahr $row["jahr"];
           
    $apoID1 $row["apoID1"];
           
    $apoID2 $row["apoID2"];
                
    print 
    "<input type=\"hidden\" name='ID' value='$ID'>\n";
    print 
    "<input type=\"hidden\" name='tag' value='$tag'>\n";
    print 
    "<input type=\"hidden\" name='monat' value='$monat'>\n";
    print 
    "<input type=\"hidden\" name='datum' value='$datum'>\n";
    print 
    "$tag.$monat. <input type=\"text\" size=\"8\" name='jahr_$i' value='$jahr' size=\"6\">\n";
    print 
    "<input type=\"text\" size=\"8\" name='apoID1' value='$apoID1'>\n";
    print 
    "<input type=\"text\" size=\"8\" name='apoID2' value='$apoID2'>\n";            
    }
    print 
    "input type=\"submit\" value=\"speichern\"></td>";
    print 
    "</form>\n"
    Wär echt super, wenn mir jemand auf die sprünge helfen könnte :-)))

    danke schon mal.
    UND: einen extra lieben gruss an meinen freundlichen lehrer ;-))
    Zuletzt geändert von susto; 18.02.2004, 20:54.

  • #2
    vielleicht erklärst du auch noch das problem ... wäre echt toll.
    Kissolino.com

    Kommentar


    • #3
      den richtigen Ansatz hast du schon, doch dann wieder verworfen. Denk noch mal drüber nach. Es sind nur Bezeichnungen im $_POST-Array hat nicht direkt mit den Spaltennamen in der DB zu tun, sondern steht nur in Beziehung zu der DB, was die zugehörige Werte angeht, na dann ...

      Kommentar


      • #4
        Re: problem mit dynamisch generiertem Formular

        Original geschrieben von susto
        [COLOR=red]HELP ME !!!!![/COLOR]
        sowas kannst du dir sparen.

        hier wirst du immer geholfen. denn dafür bist du ja hier. oder? ,-)


        noch was... wir haben hier auch so [php ]-tags, welche du mal um deinen php-code machen darfst. da gibt es auch so einen button, da steht PHP drauf. bunt und fett hast du ja schon gefunden.

        also bitte änder deinen post. das roteinfärben des codes bringt nämlich rein gar nichts.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          noch ne kleine frage...

          Original geschrieben von asp2php
          den richtigen Ansatz hast du schon, doch dann wieder verworfen. Denk noch mal drüber nach. Es sind nur Bezeichnungen im $_POST-Array hat nicht direkt mit den Spaltennamen in der DB zu tun, sondern steht nur in Beziehung zu der DB, was die zugehörige Werte angeht, na dann ...

          ok. soweit verstanden. ;-)
          noch eine kleine frage:
          Wenn ich die inputfeldnamen mit $i durchzähle, wie lese ich die werte aller variablen mit dem $_POST-Array wieder aus (z.B: ID_1, ID_2), um dann mehrere Datensätze gleichzeitig zu aktualisieren?

          ... es ist ein langer weg zu einem dynamischen notdienstkalender...

          Kommentar


          • #6
            Re: Re: problem mit dynamisch generiertem Formular

            [COLOR=red]@susto[/COLOR]
            Original geschrieben von Abraxax
            noch was... wir haben hier auch so [php ]-tags, welche du mal um deinen php-code machen darfst. da gibt es auch so einen button, da steht PHP drauf. bunt und fett hast du ja schon gefunden.

            also bitte änder deinen post. das roteinfärben des codes bringt nämlich rein gar nichts.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Re: Re: Re: problem mit dynamisch generiertem Formular

              Original geschrieben von Abraxax
              [COLOR=red]@susto[/COLOR]
              was willst du mir damit sagen??? bin nicht so gut in zeichensprache.

              Kommentar


              • #8
                Re: noch ne kleine frage...

                Original geschrieben von susto
                ok. soweit verstanden. ;-)
                noch eine kleine frage:
                Wenn ich die inputfeldnamen mit $i durchzähle, wie lese ich die werte aller variablen mit dem $_POST-Array wieder aus (z.B: ID_1, ID_2), um dann mehrere Datensätze gleichzeitig zu aktualisieren?

                ... es ist ein langer weg zu einem dynamischen notdienstkalender...
                erstmal muss du im Formular ein hidden-Feld (fieldcount) hinzufügen, welche die Anzahl der $i beinhaltet.

                Auf der Empfängerseite liest du sie aus ($intFieldCount=$_POST['fieldcount']),
                jagst eine For-Schleife (for ($i=0;...) ) damit durch, in der Schleife liest du z.B. $_POST["ID$i"] aus,
                ordnest den ausgelesenen Werten den entsprechenden DB-Feldern zu und führst das Update durch. Voilà.

                Kommentar


                • #9
                  Re: Re: Re: Re: problem mit dynamisch generiertem Formular

                  Original geschrieben von susto
                  was willst du mir damit sagen??? bin nicht so gut in zeichensprache.
                  geh mal zu deinem Posting von vorhin, klick auf ändern,
                  füge php in [] vor den roten Codezeilen und ein /php in []
                  am Ende der Codezeilen ein, das ganze wieder senden,
                  schau dir das Ergebnis an und wirst schon verstehen, was er meint

                  Kommentar


                  • #10
                    Re: noch ne kleine frage...

                    Original geschrieben von susto
                    ok. soweit verstanden. ;-)
                    noch eine kleine frage:
                    Wenn ich die inputfeldnamen mit $i durchzähle, wie lese ich die werte aller variablen mit dem $_POST-Array wieder aus (z.B: ID_1, ID_2), um dann mehrere Datensätze gleichzeitig zu aktualisieren?

                    ... es ist ein langer weg zu einem dynamischen notdienstkalender...
                    Hat alles geklappt!! Vielen Dank für die prompte hilfe.

                    Kommentar


                    • #11
                      U welcome

                      Kommentar

                      Lädt...
                      X