Problem mit mehreren Formularen auf einer Seite

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

  • Problem mit mehreren Formularen auf einer Seite

    Hallo zusammen

    Ich bin anscheinend etwas begriffsstutzig. Hab schon mehrere Foren durchsucht und auch ähnliche Themen gefunden konnte es aber nicht für mein Problem umsetzen, bin halt noch Anfänger.

    Ich hab mir eine SQL-Datenbank gebastelt mit 48 Datensätzen die sich in der Anzahl nicht verändern werden/sollen, einzig die letzten 7 Felder jedes Datenssatzes sollen geupdatet werden können. Soweit alles bestens, das anzeigen funktioniert problemlos (siehe php3.jpg).

    Nun endlich zum Problem: Ich habe nun eine php-Seite mit mehreren Formularen (im Moment 2 von später 48) in der jedes Formular für einen Datensatz bzw. eine Tabellenzeile der angezeigten Tabelle steht. Wenn ich nun Datensatz/Zeile 1 aufülle und abschicke wird der ordungsgemäss in SQL eingetragen bzw. geändert, Beim zweiten Datensatz/Zeile wird aber der erste Datensatz wieder resetet bzw. der Feldinhalt gelöscht.
    Daselbe auch umgekehrt. (siehe php1.jpg und php2.jpg)

    Ausserdem möchte ich am Ende der Seite nur 1 Submit-Button anstatt in jeder Zeile.
    Ich habe an mehreren Stellen etwas von Hidden-Feldern gelesen kapier das allerdings nicht.
    Man kann natürlich die Daten über phpMyAdmin ändern aber es sollen noch andere die Daten ändern können.
    @Penizillin: Habe die Fehlermeldungen ausgemerzt und Post etwas geändert.
    Hier die Codes:

    aces_rares_edit.php
    PHP-Code:
    <?php 
       
    require("connectdb.php"); 
       
    $res1 mysql_db_query("items""SELECT * FROM aces_rares WHERE id = 1"); //erster SQL-Datensatz bzw. Zeile der Tabelle 
       
    $res2 mysql_db_query("items""SELECT * FROM aces_rares WHERE id = 2"); //zweiter SQL-Datensatz bzw. Zeile der Tabelle 
    ?> 
                    </tr> 
                    <tr> 
                      



                      <form name="01" action="editrare.php" method="post"> <!-- Erster SQL-Datensatz bzw. Zeile der Tabelle --> 
                        <td height="23" bgcolor="#000033" class="tabellelinks"><a href="#mc" onClick="MM_openBrWindow('http://mib.r-appert.ch/items/php/item.php?id=16','','width=420,height=600')">Paw 
                          of Tiger</a></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="core01" type="text" value="<?php echo mysql_result($res1,0,"core"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="frame01" type="text" value="<?php echo mysql_result($res1,0,"frame"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="hull01" type="text" value="<?php echo mysql_result($res1,0,"hull"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="tech01" type="text" value="<?php echo mysql_result($res1,0,"tech"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="comp01" type="text" value="<?php echo mysql_result($res1,0,"comp"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="adt01" type="text" value="<?php echo mysql_result($res1,0,"adt"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="adh01" type="text" value="<?php echo mysql_result($res1,0,"adh"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input type="submit" name="01" value="ändern"></td> 
                      </form> 
                    </tr> 
                    <tr> 
                      <form name="02" action="editrare.php" method="post"> <!-- Zweiter SQL-Datensatz bzw. Zeile der Tabelle --> 
                        <td height="23" bgcolor="#000033" class="tabellelinks"><a href="#mc" onClick="MM_openBrWindow('http://mib.r-appert.ch/items/php/item.php?id=17','','width=420,height=600')">Peacemaker</a></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="core02" type="text" value="<?php echo mysql_result($res2,0,"core"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="frame02" type="text" value="<?php echo mysql_result($res2,0,"frame"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="hull02" type="text" value="<?php echo mysql_result($res2,0,"hull"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="tech02" type="text" value="<?php echo mysql_result($res2,0,"tech"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="comp02" type="text" value="<?php echo mysql_result($res2,0,"comp"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="adt02" type="text" value="<?php echo mysql_result($res2,0,"adt"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input name="adh02" type="text" value="<?php echo mysql_result($res2,0,"adh"); ?>" size="8" maxlength="3"></td> 
                        <td height="23" bgcolor="#000033" class="tabelle"> <input type="submit" name="02" value="ändern"></td> 
                      </form> 
                    </tr>
    editrare.php
    PHP-Code:
    <?php 

    $co01 
    = ($_POST["core01"]); 
    $fr01 = ($_POST["frame01"]); 
    $hu01 = ($_POST["hull01"]); 
    $te01 = ($_POST["tech01"]); 
    $cp01 = ($_POST["comp01"]); 
    $at01 = ($_POST["adt01"]); 
    $ah01 = ($_POST["adh01"]); 
    $co02 = ($_POST["core02"]); 
    $fr02 = ($_POST["frame02"]); 
    $hu02 = ($_POST["hull02"]); 
    $te02 = ($_POST["tech02"]); 
    $cp02 = ($_POST["comp02"]); 
    $at02 = ($_POST["adt02"]); 
    $ah02 = ($_POST["adh02"]); 

    require(
    "connectdb.php"); 

    mysql_query("UPDATE aces_rares SET core='$co01', frame='$fr01', hull='$hu01', tech='$te01', comp='$cp01', adt='$at01', 
    adh='
    $ah01' WHERE id = 1"
    and 
    mysql_query("UPDATE aces_rares SET core='$co02', frame='$fr02', hull='$hu02', tech='$te02', comp='$cp02', adt='$at02', 
    adh='
    $ah02' WHERE id = 2"
    or die(
    mysql_error()); 

    mysql_close(); 
    print 
    "<font size=\"4\"><b>die &Auml;nderungen wurden durchgeführt</b></font>"

    ?>
    Zuletzt geändert von Papi; 10.10.2005, 17:40.

  • #2
    1. erst lesen und post editieren! http://www.php-resource.de/forum/sho...threadid=50454

    2. würd nur klappen, wenn du aus den 2 formularen eins machst.

    Kommentar


    • #3
      Sorry, wenn ich das so sage:
      aber du versuchst dich mit der rechten Hand hinter dem Kopf am linken Ohr zu kratzen.

      Du willst doch nicht etwa 48 mal einen SQL-Aufruf starten. So eine Datenausgabe macht man in dem Fall mit einer WHILE- (o.ä.) Schleife.

      Wie penizillin schon sagte, mußt du aus mehreren Formularen eines machen, wenn du nur einen Submitbutton nutzen willst.

      Gruß
      Stephan
      [font=Verdana]SteGaSoft
      Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
      [/font]

      Kommentar


      • #4
        Dann dank ich mal für die Tips und werd versuchen das in ein Formular zu packen. Weiss zwar noch nicht wie aber irgendwann wirds funktionieren. :-)

        Kommentar


        • #5
          Bitte den Banner aus der Sig entfernen. Große Bilder dulden wir hier nicht.

          Ist der Code umgebrochen? Wieso bei mir nicht?

          Kommentar

          Lädt...
          X