mysql mehrere Zeilen gleichzeitig in Tabelle schreiben

buzzom

Mitglied
Hallo werte Gemeinde,

wie kann ich zwei oder drei oder mehr Zeilen gleichzeitig in eine Tabelle schreiben? Daten werden aus zb. aus einem Formular mit 3xDrop-Down Menü gewonnen plus ID.

z.B.

ID feld1
54 1
54 3
54 2

Danke
 
Zuletzt bearbeitet:
Entweder eine schleife wenn nicht geklärt ist viele datensätze eingetragen werden...
PHP:
$anzahl = count(...);
for($i = 0; $i <$count; $i++){
  $query ="insert into ... (field1, field2) values (".$values[$i].", ...);
  mysql_query($query);
}
ansonsten wenn grundsätzlich klar ist wieviele datensätze eingetragen werden, dann gibt es 2 möglichkeiten.
1. Einfach die querys direkt nacheinander durchführen...
2. $query = "insert into (field1, field2) values (field1-1, field2-1), (field1-2, field2-2), (field1-3, field2-3);
 
danke das klappt, aber wie update ich nun diese drei zeilen korrekt?

habe bisher
PHP:
 $db   = new db();
	  $sql  = "UPDATE language SET sprache='$sprache1', koennen='$koennen1' WHERE ID='$ID' AND reihenfolge='1'";
	  $sql .= "UPDATE language SET sprache='$sprache2', koennen='$koennen2' WHERE ID='$ID' AND reihenfolge='2'";
	  $sql .= "UPDATE language SET sprache='$sprache3', koennen='$koennen3' WHERE ID='$ID' AND reihenfolge='3'";
	  $result=$db->execute($sql);

aber das funktioniert nicht, leider

danke für hilfe
 
Habs jetzt selbst hinbekommen, juhuu ;)

PHP:
 $db = new db();
      $sprachen_array=array($sprache1,$sprache2,$sprache3);
	  $koennen_array=array($koennen1,$koennen2,$koennen3);
	  $reihenfolge_array=array("1", "2", "3");
	  
	   for ($i=0;$i<sizeof($sprachen_array);$i++)
        {
	      $sql = "UPDATE language SET sprache='$sprachen_array[$i]', koennen='$koennen_array[$i]' WHERE ID='$ID' AND reihenfolge='$reihenfolge_array[$i]'";
	       $result=$db->execute($sql);
		}
 
Zurück