Voor een project voor school moet ik een werkend winkelmandje maken. Dit is allemaal gelukt tot op het punt dat ik de data uit het winkelwagentje bij bestellingen in een database moet toevoegen. Het mandje ziet er als volgt uit:
$cartArray = array(
$code=>array(
'Merk'=>$merk,
'Naam'=>$name,
'Maat'=>$maat,
'ProductID'=>$code,
'Prijs'=>$price,
'quantity'=>1,
'Aantal' => $voorraad,
'afbeelding'=>$image)
);
Ik snap echter niet hoe je een foreach loop in een foreach loop moet plaatsen en vervolgens de data uit deze arrays moet halen en in een php variabele moet stoppen om het vervolgens aan de database toe te kunnen voegen. Ik heb voor het toevoegen aan bestellingen slechts het ProductID, Maat, Prijs, en quantity nodig.
Dan heb je dus 1 foreach nodig.

<?php

$cartArray = array(
1=>array(
'Merk'=>'1',
'Naam'=>'1',
'Maat'=>'2',
'ProductID'=>'1',
'Prijs'=>'1',
'quantity'=>1,
'Aantal' => '1',
'afbeelding'=>'1'),

2=>array(
'Merk'=>'1',
'Naam'=>'1',
'Maat'=>'2',
'ProductID'=>'1',
'Prijs'=>'3',
'quantity'=>1,
'Aantal' => '8',
'afbeelding'=>'1')
);


Foreach ($cartArray as $item) {
echo $item['Prijs'].PHP_EOL;
}
?>
De kroeg is nog dicht en de piepers staan op het vuur.
 <?php
$cartArray = array(
	array(
		'Merk'       => 'Nike',
		'Naam'       => 'Air Huarache',
		'Maat'       => '2',
		'ProductID'  => '1',
		'Prijs'      => '1',
		'Quantity'   => 1,
		'Aantal'     => '1',
		'Afbeelding' =>'1'
	),
	array(
		'Merk'       => 'Adidas',
		'Naam'       => 'SolarBoost 3',
		'Maat'       => '3',
		'ProductID'  => '1',
		'Prijs'      => '1',
		'Quantity'   => 1,
		'Aantal'     => '1',
		'Afbeelding' => '1'
	)
);
echo '<pre>' . print_r( $cartArray, TRUE ) . '</pre>';
$maten = array();
foreach( $cartArray as $val )
{
	$merk = $val['Merk'];
	$naam = $val['Naam'];
	echo '<pre>' . print_r( $val, TRUE ) . '</pre>';
	foreach( $val as $y => $val1 )
	{
		if ( $y == 'Maat' || $y == 'Merk' || $y == 'Naam' )
		{
			$maten[$merk][ $y ] = $val1;
			echo "$y = $val1<br />";
		}
	}
}
echo '<pre>' . print_r( $maten, TRUE ) . '</pre>';
foreach ( $maten as $merk => $maat )
{
	echo 'De maat van <b>' . $maat['Merk'] . '</b> <i>' . $maat['Naam'] . '</i> is <b>' . $maat['Maat'] . '</b>.<br />';
}

$artikelMerk = 'Adidas';
echo '<p>De maat van <b>' . $maten[$artikelMerk]['Merk'] . '</b> <i>' . $maat['Naam'] . '</i> is <b>' .  $maten[$artikelMerk]['Maat'] . '</b></p>';

?>


Volgende keer aan de meester vragen.
mmm toch vervelend als je zolang ergens tegenaan loopt terwijl het antwoord zo simpel is. Heel erg bedankt!

Reageren