Per Checkbox Datensätze Editieren

Thomas_Jung

Erfahrenes Mitglied
Hallo
Die Datensätze werden per Checkbox zum bearbeiten aufgerufen.
Beim anschließenden Speichen wird untenstehender code ausgeführt.
Mit einem Datensatz funktioniert das prima.
Kann mir jemand weiterhelfen das das auch mit mehreren Datensätze funktioniert? ;)

>>> //for($i = 0; $i < count($_POST['editieren']); $i++){ <<<

Gruß Thomas

Code:
//Datensätze per Checkbox ausgewählt
$editieren = $_POST['editieren'];

for($i = 0; $i < count($_POST['editieren']); $i++){

//Anzahl der Felder berechnen
$x = 0; $count = count($_POST['felder']); $update = 'SET '; 

foreach ($_POST['felder'] as $key => $value) { $x++; ($count == $x) ? $update .= $key . "='" . $value . "' " : $update .= $key . "='" . $value . "', ";
}

$sql=mysql_query("UPDATE " . $table_name . " " . $update . " WHERE " . "id" . "='" . 

$editieren[$i] . "'");

}
 
Wie ordnest du die Feldparameter den einzelnen Datensätzen zu? Oder bekommen alle ausgewählten Datensätze dieselben neuen Werte? Dann würde nämlich eine Abfrage reichen.
 
Hallo Gumbo

Ich mach das so.

for ($i = 0; $i < mysql_num_fields($result); $i++){

<input name="felder[' . mysql_field_name($result,$i) . ']" value="' . htmlspecialchars($row[$i]) . '">
}

hilft das?

Gruß Thomas
 
Die Sache ist ja die, dass zwar alle IDs abgearbeitet werden, es jedoch jedesmal dieselben Eigenschaften geändert werden. Schau dir doch einfach mal die Struktur der übergebenen Daten in der $_POST-Variable an.
 
Hallo Gumbo
Da hast du recht mit der $_POST-Variable.
Muß ich das mit einer weiteren for oder foreach schleife lösen?
Habe bereits einige Versuche unternommen komme aber nicht ans Ziel.

Gruß Thomas.
 
Du musst vor allem die neu zu setzenden Werte untereinander in Verbindung setzen, in dem du beispielsweise jeweils denselben Index bei der Bezeichnung der Formularelemente wählst.
 
Hallo Gumbo

Du musst vor allem die neu zu setzenden Werte untereinander in Verbindung setzen
Verstehe ich.
denselben Index bei der Bezeichnung der Formularelemente.
Verstehe ich nicht.

Gruß Thomas
 
Ein Beispiel:
HTML:
<input type="text" name="foo[]">
<input type="text" name="bar[]">

<input type="text" name="foo[]">
<input type="text" name="bar[]">

…
 
Zurück