Ditt problem är med namnen på fälten i ditt HTML-formulär:
<input type="number" name="quantity" value="<?php echo $row['quantity']; ?>">
<input type="hidden" name="item_id" value="<? echo $row['item_id']; ?>">
Jag tror att du menade att kalla dem quantity[]
och item_id[]
istället, så de kommer och uppåt som arrayer i din $_POST
variabel senare, nu skriver de över varandra, vilket gör $_POST['item_id']
innehåller endast det sista ID:t i databasen.