Скорее всего, этот синтаксис недопустим:
data['+i+']
PHP будет рассматривать это как строку с фиксированным значением, то есть в вашем массиве $_POST[data]
будет только один ключ, каждое новое вхождение перезаписываетПредыдущая.В конце это будет выглядеть так:
$_POST[data] == array( '+i+' => array(
'Id' => ...,
'ItemId' => ...,
'QTY' => ...,
'total' => ...
));
Вы, вероятно, захотите использовать некоторый PHP в своем коде, чтобы правильно написать индекс i
:
<tr>
<input type="hidden" name="data[<?php echo $i; ?>][Id]" value="<?php echo $Id; ?>" >
<input type="hidden" name="data[<?php echo $i; ?>][ItemId]" value="<?php echo $item_Id; ?>" >
<td><input type="text" value="<?php echo $item; ?>"></td>
<td><input type="text" name="data[<?php echo $i; ?>][QTY]" value="<?php echo $Quantity; ?>"</td>
<td><input type="number" value="<?php echo $price; ?>"></td>
<td><input type="number" name="data[<?php echo $i; ?>][total]" value="<?php echo $total; ?>"></td>
</tr>
и приращениеэто для каждого ряда.