Mehrere Datensätze bearbeiten

qsrs

Erfahrenes Mitglied
Hallo,

ich möchte mehrere Datensätze gleichzeitig bearbeiten, habe aber irgendwo einen kleinen Denkfehler in meinem Skript. In einer for-Schleife gebe ich die Datensätze erstmal aus, hier die Textfelder:

HTML:
<input name="id[]" type="hidden" id="id[]" value="<?php $array0[$i1][id]; ?>" />
<input name="dbfiles_file_description[]" type="hidden" id="dbfiles_file_description[]" />
<input name="dbfiles_file_subject[]" type="text" id="dbfiles_file_subject[]" />

Im Quellcode sehe ich, dass alles korrekt ausgegeben wird.
Dann gebe ich die Daten per Post an das zu verarbeitende Skript, dort soll mit einer weiteren for-Schleife dann Datensatz für Datensatz bearbeitet werden:

PHP:
 for ($i = 0; $i < count ($id); $i++) {
   $sql = "UPDATE `$dbtable5` SET `file_subject` = '".$dbfiles_file_subject[$i]."', `file_description` = '".$dbfiles_file_description[$i]."' WHERE `id` = '".$id[$i]."' LIMIT 1";
mysql_query ($sql, $dbconnect);
}

Leider funktioniert es nicht. Nur wenn ich einen Datensatz bearbeite, wenn es mehrere sind, dann nicht mehr.
 
Echo liefert:

UPDATE `files` SET `file_subject` = 's', `file_description` = 'sdf', `file_date_edit` = '1256590121' WHERE `id` = '1420'
UPDATE `files` SET `file_subject` = '', `file_description` = 'd', `file_date_edit` = '1256590121' WHERE `id` = '1421'
UPDATE `files` SET `file_subject` = '', `file_description` = '', `file_date_edit` = '1256590121' WHERE `id` = '1418'
UPDATE `files` SET `file_subject` = '', `file_description` = '', `file_date_edit` = '1256590121' WHERE `id` = '1423'
UPDATE `files` SET `file_subject` = '', `file_description` = '', `file_date_edit` = '1256590121' WHERE `id` = '1422'
 
$dbfiles_file_subject[$i] und $dbfiles_file_description[$i] ist in den folgenden leer. prüffe doch mal den array $dbfiles_file_subject und $dbfiles_file_description.

Die Schleife selber währe schon richtig.
 
Zurück