Mehrere Datensätze mit einem Submit ändern!

piti66

Erfahrenes Mitglied
Hey,

ich will mehrer ausgegeben Datensätze über ein Forumlar ändern! Also nicht für jeden einen Submit-Button sondern einen für alle! Wie könnte ich dass am besten anstellen? Ein Array oder sowas?

mfg

sebastian
 
Arbeite doch bei der Benennung der Formularelemente einfach mit einer Schreibweise, die serverseitig als Array interpretiert wird:
HTML:
<input type="text" name="data[12][foo]" value="foo">
<input type="text" name="data[12][bar]" value="bar">
…
 
Jep also hab ich probiert, aber wenn es zuviele Datensätze werden, passiert auf einmal garnichts mehr! Weiß auch nichtz warum! Werd heute abend mal das Script hier postenn könnt ihr euch dann mal anschauen!

mfg

sebastian
 
Ich schätze mal, dass das Formular per Get-Methode versandt wird, dass die Argumente also an den URL angehangen werden. Nimm lieber die Post-Methode, die hat (theoretisch) kein Datenlimit.
 
Aber auch bei der GET Methode sollte er doch wenigstens bis zum "Schnitt" die Daten verarbeiten oder irre ich mich da jetzt? Ich benutze das sogut wie nie :D
 
Ne natürlich mit post! Was denkst du denn von mir!;)
Also hier mal das Script!

PHP:
<title>Administrationsystem SG Grosskugel e.V.</title>
<meta name="copyrights" content="Sebastian Schmiedel" >
<link rel="stylesheet" type="text/css" href="../style/admin.css" >
<style type="text/css">
<!--
input:focus, textarea:focus {background-color:moccasin;}
-->
</style>
</head>
<body>
<div class="menu">
<font>Administrationpanel der SG Gro&szlig;kugel&nbsp;&nbsp;&nbsp;&copy; Copyright by Sebastian Schmiedel</font>
</div>
<SCRIPT LANGUAGE="JavaScript">
function AddText(NewCode) {
document.neu.spielb.value+=NewCode
}
function br() {
AddTxt="<br>";
AddText(AddTxt);
}
</script>
<h4>Spielerstatistk &Auml;ndern</h4>
<hr noshade="1">
<?
//DB-Zeug ..........................................................
include("../connect.php");
$tabelle= "torjaeger";

$connect = mysql_connect("$dbhost","$dbuser","$dbpass");
if (!$connect)    {die ("Keine Verbindung zum mySQL-Server m&ouml;glich.");}
$db_select=@mysql_select_db($dbname);
if (!$db_select)    {die ("Datenbank nicht gefunden oder falscher User/PW &Uuml;berpr&uuml;fe die Einstellungen in der \"db_config.php\"");}
//DB-Zeug ..........................................................

if ($_POST['anz']) //wenn eine Anzahl pepostet
    {
         $eintrag=$_POST['feld']; //das Array "$eintrag" aus dem Arrayelement "$_POST['feld']" holen

         for ($i=1; $i<=$_POST['anz']; $i++)
             {
                 //echo $eintrag[$i][3].", ".$eintrag[$i][1].", ".$eintrag[$i][2].", ".$eintrag[$i][4]."<br/>\n";
                 //das Query auskommentieren. Dann kannste mit echo Testen, wenn du weitere Felder brauchst
                 $update = "UPDATE $tabelle SET name='".$eintrag[$i][1]."', verein='".$eintrag[$i][2]."', tore='".$eintrag[$i][3]."' WHERE id='".$eintrag[$i][4]."'";
                 mysql_query ($update);
                 }
    echo "&Auml;nderung wurde &uuml;bernommen!<p></p><hr noshade='1'><font class='link'><a href='index.php'>Zur&uuml;ck zum Torjägerindex</a><br><a href='../../index.php' target='_top'>Zur&uuml;ck zu www.sg-grosskugel.de</a></font>"; //Weiterleitung (in diesem Falls zu sich selbst)
                         //auch m&ouml;glich:   header ("Location:minus14.php");
         }


else    {
    $abfrage = mysql_query ("SELECT * FROM $tabelle order by verein");
         $i=1;
         echo " \n<form action=\"".$PHP_SELF."\" method=\"POST\" name=\"form\" accept-charset='ISO-8859-1' enctype='multipart/form-data'>\n ";
         while($row = mysql_fetch_object($abfrage))
        {
                 //Feldnamen m&uuml;ssen zweidimensionale Arrays sein! Das Scheme ist erkennbar, denk ich..
        echo " <input size='20' type='Text' name='feld[$i][1]' value='$row->name' >";
        echo " \nVerein:&nbsp;&nbsp;<input type='Text' size='20' name='feld[$i][2]' value='$row->verein' >";
        echo " \nTore:&nbsp;&nbsp;<input type='Text' size='3' name='feld[$i][3]' value='$row->tore' >";
                 echo " \n<input type='hidden' name='feld[$i][4]' value='$row->id' >";
            echo " <hr/>\n ";
                 $i++;
             }

         $abfrage2 = mysql_query("SELECT COUNT(*) AS anzahl FROM $tabelle"); //alle Eintr&auml;ge z&auml;hlen
         $row = mysql_fetch_object($abfrage2);                               //und mitschicken

         echo "\n<input type=\"hidden\" name=\"anz\" value=\"".$row->anzahl."\">\n";
         echo "<input type=\"Submit\" value=\"Daten &auml;ndern\">\n";
    echo "</form>\n ";
         }
         ?>
</body>
</html>

mfg

sebastian
 
Zurück