2 Arrays ineinander

[grueni]

Lt. Commander
Dabei seit
Okt. 2008
Beiträge
1.293
Hey ;)
Ich hab folgendes Problem.
In einem HTML Dokument hab ich folgende Tabelle:
Code:
<td><li><input type="text" name="field_product[]" value= "" size=10></li></td>
<td><input type="text" name="field_value[]" value= "" size=1 maxlength=2></td>

Also 2 Arrays, diese sollen nun in einem PHP Dokument ausgewertet werden und zwar so, dass die Ausgabe so aussieht: Nudeln (field_product) 2 (field_value)
Also das hinter dem Produkt die Anzahl erscheint (field_value).

Gelöst bekommen kriege ich es nicht, habe bis jetzt nur geschafft das ganze untereinander zu bekommen mit 2 foreach Abfragen.

Code:
foreach($_REQUEST['field_product'] as $product){ 
		if(strlen($product)<=0){
			echo '';
		}
		else{
			echo $product.'<br>';  
			} 
		
	}
	
	foreach($_REQUEST['field_value'] as $value){ 
		if(strlen($value)<=0){
			echo '';
		}
		else{
			echo $value.'Stk<br>';  
			} 
	}

Wie muss ich die beiden Schleifen ineinander verschachteln um mein gewünschtes Ergebnis zu bekommen :) ?

Vielen Dank fürs Lesen und die Hilfe :)
 

GregoryH

Lt. Commander
Dabei seit
Aug. 2010
Beiträge
1.794
for- statt foreach-Schleifen?

Gruß
 

Suxxess

Vice Admiral
Dabei seit
Feb. 2005
Beiträge
7.051
$k=0;
$i=count($field_product);

while ($k < $i)
{
echo $product[$k]; echo ("<br>");
echo $value[$k];
$k++;
}

Count zählt die Anzahl der Einträge im Array.
Die Schleife wird daher genauso oft durchgeführt bis jedes Element ausgelesen ist.
$k wird als Zähler genommen und als Index von den jeweiligen Arrays.

Damit müsstest du an dein Ziel kommen und beides hintereinander ausgeben können.
 

Yuuri

Fleet Admiral
Dabei seit
Okt. 2010
Beiträge
13.793
Ein input-Feld als Array? Was soll das bringen? Dort kannst du nur einen Wert eingeben. Falls du eine Mehrfachauswahl willst, bleibt dir nur select übrig.
 

[grueni]

Lt. Commander
Ersteller dieses Themas
Dabei seit
Okt. 2008
Beiträge
1.293
Jap ^^ das sollte nur ein Beispiel sein wie diese aussehen :)
Ich gehe einmal die Lösungsvorschläge durch und melde mich dann noch einmal :)

Vielen Dank euch allen
Ergänzung ()

Oki hab es hinbekommen mit dem Code von Suxxess ;)
Besten Dank an dieser Stelle:)

Code:
$k=0;
$product = $_REQUEST['field_product'];
$value = $_REQUEST['field_value'];
$i=count($product);
$x=count($value);

while ($k < $i)
{
	if(strlen($product[$k])<=0 AND strlen($value[$k])<=0){
		echo '';
	}
	elseif(strlen($value[$k])<=0){
		echo $product[$k].' ';
		echo '1';
		echo '<br>';
	}
	else{
		echo $product[$k].' '; 
		echo $value[$k];
		echo '<br>';
	}
$k++; 
}

So schauts nun fertig aus. Danke & LG
 
Zuletzt bearbeitet:
Top