Hallo,
Je nachdem, wie der Abfragequery gestaltet ist (Sortierung), kann es sein, dass die vierte Zeile der HTML-Tabelle innerhalb des Formulars nicht der vierten Zeile in der DB-Tabelle entspricht.
Man sollte also noch eine eindeutige ID der Zeile (die aus der DB-Tabelle) mitgeben.
Die resultierende Ausgabe sollte für die Zeile mit der ID "3" so aussehen (ungetestet):
<input id="gname[3]" name="gname[3]" value="blabla">
hab das jetzt mal so oder so ähnlich versucht.
Die Ausgabe der Tabelle in der Seite (Original Auszug):
<tr>
<td><input type="checkbox" name="gdelete[]" value="4"></td>
<td><input id="gname" name="gname[4]" value="anorexia"></td>
<td><input id="gtitel" name="gtitel[4]" value="»anorexia nervosa«"></td>
<td><input type="checkbox" name="gvisible[]" value="4"></td>
<td>2005-06-20</td>
</tr>
Der PHP/SQL-Code zum Verarbeiten und Ändern der Daten:
$i = 0;
foreach($_POST["gname"] as $bla) {
$a_id = $_POST["visible"][$i];
$result = mysql_query("UPDATE album SET name = '" . $_POST["gname"][$i] . "', titel = '" . $_POST["gtitel"][$i] . "', sichtbar = '0' WHERE a_id = '" . $a_id . "';");
$i++;
}
Als Argument für die foreach-Schleife hatte ich zuerst gvisible (die Checkbox als $a_id, aber da kam eine Fehlermeldung (Invalid argument).
Passieren tut leider immernoch nicht viel. :(
Viele Grüße
Paul
Meine Photos: http://www.rapunzeln.de
Meine Tribals: http://www.tribal-galerie.de