У меня есть два массива: один с количествами под названием aantal
, а другой с продуктами под названием producten
.
Producten:
Array
(
[0] => Array
(
[0] => 2
[1] => Tegel zwart
[2] => Zwarte tegel 2x2m
[3] => 47,5
[4] => 25
)
[1] => Array
(
[0] => 4
[1] => Tegel lichtgrijs
[2] => Lichtgrijze tegel 2x2m
[3] => 40,5
[4] => 25
)
[2] => Array
(
[0] => 2
[1] => Tegel zwart
[2] => Zwarte tegel 2x2m
[3] => 47,5
[4] => 25
)
[3] => Array
(
[0] => 4
[1] => Tegel lichtgrijs
[2] => Lichtgrijze tegel 2x2m
[3] => 40,5
[4] => 25
)
)
Aantal:
Array
(
[0] => 20
[1] => 20
[2] => 27
[3] => 25
)
Я хочу обновить каждое количество в соответствии со значениями $ _GET из URL-адреса со следующим кодом:
$sum = 0;
foreach($_SESSION['producten'] as $key => $product){
//$_SESSION['producten'][$key][4] = '';
$number = str_replace(',', '.', $product[3]);
$sum+= $number;
if(!empty($_GET['aantal'])){
foreach($_GET['aantal'] as $keyaantal => $aantal){
$_SESSION['producten'][$key][4] = $_GET['aantal'][$keyaantal];
}
}else{
$_SESSION['producten'][$key][4] = '1';
}
}
Это форма с html:
<form action="cart.php">
<?php foreach ( $_SESSION['producten'] as $row){
if(!empty($_GET['aantal'])){
$aantalwaarde = $row[4];
}else{
$aantalwaarde = 1;
}
// if($row != ){
// }
?>
<tr>
<td><?php echo $row[0] // ID; ?></td>
<td><?php echo $row[1] // Product_naam; ?></td>
<td><?php echo $row[2] // Beschrijving; ?></td>
<td><input name="aantal[]" type="number" value="<?PHP echo $aantalwaarde; ?>"></td>
<td>€<?php echo $row[3] // Prijs; ?></td>
<?php $total = $total + intval($row[3]); ?>
</tr>
<?php } ?>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><input type="submit" value="Updaten"></td>
<td></td>
<td>Totaalprijs</td>
<td></td>
<td>€<?php echo $sum // Prijs; ?></td>
</tr>
</form>
Почему, если я нажимаю кнопку обновления, обновляются последние вставленные значения для всех продуктов? Например, если я установил последний ввод количества на 25, а один перед ним на 10, все продукты будут иметь количество 25.
Как я могу это исправить?