Mailinglisten-Archive |
Hallo Björn, Björn Dautermann wrote: > foreach ( $_POST['kartonart'] as $k => $v ) { // $k = key, $v = value > echo $k, $v; $_POST['kartonart'] ist nun ein indiziertes Array. Die Schlüssel holst du laut Schleifendefinition in $k und die Werte in $v. > if ((isset ($v)) AND (isset($_POST['menge'][$k]))) { Mit $k kommst du hier nicht weiter, da von HTML eh nur die geklickten Checkboxen übergeben werden (im Gegensatz zu den Inputfeldern). Alle nicht abgehakten Checkboxen werden nicht im $_POST['kartonarten'] auftauchen. Folglich werden die Schlüssel im Array ohne die fehlenden Checkboxen durchnummeriert. Der erste Eintrag im Array $_POST['kartonart'] hinter Index 0 kann nicht zwingend in Verbindung mit dem ersten Eintrag im Array $_POST['menge'] gesetzt werden. Vielmehr entspricht nun eine Checkbox mit dem Wert 2 dem dritten Eintrag im Array $_POST['menge']. Die dritte Checkbox bezieht sich auf Kartonart 2, genau so wie das dritte Eingabefeld (Schlüssel = 2). Du musst also über die Werte der gewählten Kartonarten gehen und dann die entsprechende Menge dazusuchen. $bestellung = array(); foreach ( $_POST['kartonart'] as $i => $art ) { // Bestellung wird nur berücksichtigt wenn zur Art auch eine Menge angegeben wurde if ( $_POST['menge'][$art] > 0 ) { $bestellung[$art] = $_POST['menge'][$art]; } } Und die Einträge in $bestellung kannst du ja dann nach Belieben mit foreach aufsummieren. regards, Ringo
php::bar PHP Wiki - Listenarchive