Vấn đề của bạn là với tên của các trường trong biểu mẫu HTML của bạn:
<input type="number" name="quantity" value="<?php echo $row['quantity']; ?>">
<input type="hidden" name="item_id" value="<? echo $row['item_id']; ?>">
Tôi nghĩ bạn muốn gọi họ là quantity[] và item_id[] thay vào đó, chúng sẽ và lên dưới dạng mảng trong $_POST của bạn biến sau này, bây giờ chúng ghi đè lên nhau, tạo thành $_POST['item_id'] chỉ chứa id cuối cùng trong cơ sở dữ liệu.