phpbar.de logo

Mailinglisten-Archive

[php] Formular - mehrere loeschen anstossen

[php] Formular - mehrere loeschen anstossen

Friederun Göllner goellner at macnews.de
Fre Mar 19 14:44:06 CET 2004


Hallo,

brauche Hilfe bei einem Formular, das mehrere Datensaetze aus einer 
Datenbank ausgibt, deren Werte man aendern kann, oder wenn man eine 
Checkbox anklickt den ganzen Datensatz loeschen koennen soll. Wenn 
das Formular abgeschickt wird, sollen die Aenderungen in die 
Datenbank geschrieben werden bzw. die markierten Datensaetze 
geloescht werden. Ersteres laeuft, wenn auch schlecht, letzteres 
kriege ich gar nicht hin.

Der Code im Formular sieht so aus:

while($zeile=mysql_fetch_row($result))	{
echo "<tr>\n";
echo "<td bgcolor=\"#000000\" valign=\"top\"><input type=\"text\" 
size=\"24\" maxlength=\"24\" name=\"Feld1[]\" value=\"" . $zeile[0] . 
"\"></td>\n";
echo "<input type=\"hidden\" name=\"Feld2[]\" value=\"" . $zeile[1] . "\">\n";
echo "<td bgcolor=\"#000000\"><input type=\"checkbox\" 
name=\"loeschen\" value=\"\" unchecked> l&ouml;schen</td>\n";
echo "</tr>\n";
}

Im Zielformular kriege ich auch die beiden Arrays aus Feld1 und 
Feld2. Ich arbeite sie ungefaehr so ab:

$Feld1 = $_POST['Feld1'];
$Feld2 = $_POST['Feld2];
$ArrayLaenge = count($Feld1);
for ($i=0; $i<$ArrayLaenge; $i++) {
$Feld1_aktuell = $Feld1[$i];
$Feld2_aktuell = $Feld2[$i];
$sql = "UPDATE tabelle1 SET Feld1 = '" . $Feld1_aktuell . "'" .
	" WHERE Feld2 = '" . $Feld2_aktuell . "'";
mysql_query($sql, $verbindung);
}

Das funktioniert, wenn ich alle Werte aus Feld1 im Formular neu 
gesetzt habe, es funktioniert auch, wenn ich nur den ersten Wert 
aendere. Es funktioniert nicht mehr, wenn ich nur den letzten Wert 
aendere. Warum? - Ich moechte, dass es immer den Datensatz oder die 
Datensaetze aendert, wo ein neuer Wert eingetragen wird, und alle 
anderen einfach so bleiben bzw. mit demselben Wert ueberschrieben 
werden.

Und ganz auf dem Schlauch stehe ich, wenn ich nun vorher alle 
Datensaetze, die im Formular mit "loeschen" markiert sind, geloescht 
haben moechte. Die anderen sollten danach noch durch die 
Aktualisierung laufen.

Bin dankbar fuer jede Hilfe!

Gruesse
Friederun Goellner


php::bar PHP Wiki   -   Listenarchive