Mehrere SQL Einträge gleichzeit bearbeiten

Kalma

Erfahrenes Mitglied
Hi,

ich habe ein Problem.

Ich bekomme mehrere MySQL Einträge aus einer Tabelle (Anzahl unbekannt) und möchte, dass der Benutzer diese gleichzeitig bearbeiten kann.

Bis jetzt habe ich versucht, immer die ID an die Felder anzuhängen:
tag_id
von_id
bis_id

Aber das ist blöd.
Wie würde der einfachste und beste Lösungsweg aussehen?


Danke
David
 
Hallo,
nenne die Felder einfach tag[], von[] und bis[], dann hast du im verarbeitenden PHP Skript ein Array, mit dem du dann recht einfach arbeiten kannst.

mfg
forsterm
 
PHP:
			// Erreichbarkeiten ändern
			foreach($_POST['id'] AS $id)
			{
				$update_err		=	'UPDATE
										suchwoerter_erreichbarkeit
									SET
										`call_ab` = "'.$_POST['von'].'",
										`call_bis` = "'.$_POST['bis'].'",
										`call_tag` = "'.$_POST['tag'].'",
										`call_immer` = "'.$_POST['immer'].'"
									WHERE
										`call_swort_id` = "'.$id.'"';
				$update_res		=	@mysql_query($update_err) or die(mysql_error());
				
				//echo $update_err;
			}
			//exit;

Ich glaube irgendwas hab ich falsch gemacht, denn rauskommt das:
Warning: Invalid argument supplied for foreach() in C:\wamp\www\user_experte.php on line 176
Das ist direkt die Foreach Zeile.
Meine Felder:
input hidden: id
select: von
select: bis
select: tag

danke nochmal für die hilfe.
 
Mal grob umrissen.

PHP:
<form>
<input type="text" name="id[]">
<input type="text" name="tag[]">
<input type="submit">
</form>

PHP:
$arrayCnt = count($_POST['id']);
for($i = 0; $i < $arrayCnt; $i++)
{
  $query = "UPDATE `table` 
  SET `tag` = '".mysql_real_escape_string($_POST['tag'][$i]."'
  WHERE `id` = '".intval($_POST['id'][$i]."'";
  mysql_query($query);
}
 
Zurück