ulu: Augabe in foreach und inkrementieren.

Beitrag lesen

Hi,

Nun, da fehlt z.B. noch der Inhalt deiner Variablen, an der Stelle des Scripts, um den Fehler nachstellen zu können.

$i = 0;
foreach ($warenkorb as $key => $value){

## Der $warenkorb besteht aus: Name, Kategorie, id und anzahl
$normal="...andereText...<input type=text name=extras[] value=".$_REQUEST['extras'][$i].">".$i."</td> ... noch mehr text... ";

mit $normal sollen die daten angezeigt werden, wenn jetzt auf submit gedrückt wird soll die texteingabe an der richtigen position wieder erscheinen.

if ($value['kategorie'] == $Kategorie1 && $Kategorie1 != ''){  ## Nun soll er wenn die richtige Kategorie im durchlauf dabei ist die Daten über "$normal" ausgeben.
for ($b = 0; $b < $value['anzahl']; $b++){  ## Je nach Anzahl soll es mehrfach ausgegeben werden
if ($value['kategorie'] == $Kategorie1 && $value['anzahl'] > $b){ $i++; echo $normal;}

Wenn ich nach dem "$i++;" das $i mit echo ausgebe zeigt er mir die richtige anzahl an, nur in der "$normal" ausgabe wird immer nur die erste Zahl angezeigt.

}}
if ($value['kategorie'] == $Kategorie2 && $Kategorie2 != ''){
for ($b = 0; $b < $value['anzahl']; $b++){
if ($value['kategorie'] == $Kategorie2 && $value['anzahl'] > $b){ $i++; echo $normal;}
}}

Der Fehler tritt auf wenn ich ein Produkt aus einer Kategorie mehr als einmal im Warenkorb habe(wenn anzahl höher als 1).
Er addiert zwar das $i, gibt diesen Wert aber nicht an "$normal" weiter.