Cześć, moim zdaniem najlepszym sposobem jest nadanie innej nazwy dla wszystkich danych wejściowych, takich jak 'new_screen_price' 'old_screen_price'
jeśli twój formularz jest generowany przez js, możesz to zrobić, jeśli nie jest umieszczony bezpośrednio w html, który masz
<input name='new_screen_price'>
<input name='new_screen_qty'>
...
po tym, jak weźmiesz swoją pojedynczą wartość w php, np.
$newScreen = [];
$newScreen['name'] = 'new screen';
$newScreen['price'] = $_POST['new_screen_price'];
umieść swój produkt tablicowy w jednym
$products = [];
$products['newScreen'] = $newScreen;
jesteś gotowy na twoją prośbę, po prostu robię za dwie params cena i nazwa, ale oczywiście potrzebujesz wszystkiego
foreach($products as $prod){
$statement = $db->prepare("INSERT INTO invoice (orderNo,customerNo,productName,price,quantity,amount,createDate,createTime,createBy) VALUES (?,?,:name,:price,...)");
$statement->bindParam(':name', $prod->name);
$statement->bindParam(':price', $prod->price);
$statement->execute();
}
dzień dobry, mam nadzieję, że ci to pomoże