Variabelenwerte eine 2 dimensionalen Arrays werden überschrieben

tomtutorial

Erfahrenes Mitglied
Variabelen eines 2 dimensionalen Arrays werden überschrieben

Hallo zusammen,

Ich poste über ein Formular die Arrays merkmal, werte und mehrpreis.
In diesem Fall:

Farbe | Gelb,Blau,Grün | 0,05
Muster | Punkte,Streifen | 0,04


Dann möchte ich diese in einzelnes Array packen.
So weit bin ich schon gekommen:

PHP:
if ($submit=="Speichern") { // Artikeldaten gesendet & werden nun verarbeitet
	$i=0;
	foreach ($merkmal AS $m) {
	if ($m!="") {$artikelinfo['merkmal']=$m;
	$artikelinfo_array[$i]=$artikelinfo;
	$i++;}}
	$i=0;
	foreach ($werte AS $w) {
	if ($w!="") {$artikelinfo['werte']=$w;
	$artikelinfo_array[$i]=$artikelinfo;
	$i++;}}
	$i=0;
	foreach ($mehrpreis AS $mp) {
	if ($mp!="") {$artikelinfo['mehrpreis']=$mp;
	$artikelinfo_array[$i]=$artikelinfo;
	$i++;}}
	foreach ($artikelinfo_array AS $artikel) {
	echo("$artikel[merkmal], $artikel[werte], $artikel[mehrpreis]<br>");
	}

Als Ausgabe bekomme ich folgendes:

Muster, Punkte,Streifen, 0,05
Muster, Punkte,Streifen, 0,04


Irgendwie werden die Arrays für merkmal und werte überschrieben.
Ich weiß einfach nicht warum.
Für einen Profi hier auf dem Board bestimmt eine lächerliche Aufgabe, oder?
 
Zuletzt bearbeitet:
Hatte eine glorreiche Idee, die aber auch nicht funktioniert:

PHP:
if ($submit=="Speichern") { // Artikeldaten gesendet & werden nun verarbeitet
	$artikelinfo_array=array("$merkmal", "$werte", "$mehrpreis");
	foreach ($artikelinfo_array AS $artikel) {
	echo("$artikel[merkmal], $artikel[werte], $artikel[mehrpreis]<br>");
	}

Dann wird folgendes Ausgegeben:

A, A, A
A, A, A
A, A, A


?
Ich bin doch kein Profi-PHP-Programmierer, bitte helft mir hier raus.
 
Ich bin nach vielen Versuchen selber auf eine Lösung gekommen.
Hier ist der Code falls jemand mal das selbe Problem haben sollte:

PHP:
	for($x=0; $x<=count($_POST["merkmal"]); $x++) {
	$artikelinfo_array=array($_POST["merkmal"][$x], $_POST["werte"][$x], $_POST["mehrpreis"][$x]);
		if ($artikelinfo_array["0"]!="") {
		$artikelinfo_array["2"]=ereg_replace(",", ".", $artikelinfo_array["2"]);
		$sql_artikelinfo="INSERT INTO artikelinfo SET merkmal='$artikelinfo_array[0]', werte='$artikelinfo_array[1]', mehrpreis='$artikelinfo_array[2]'";
		if (@mysql_query($sql_artikelinfo)) {echo("<p>Daten in die Tabelle 'artikelinfo' erfolgreich eingetragen.</p>");}
		else {echo("<p>Fehler beim eintragen in die Tabelle 'artikelinfo'. FEHLER:".mysql_error()."</p>");}
		$artikelinfoarray[]=mysql_insert_id();
		}
	}
 
Zurück