Ciao, il modo migliore penso sia dare un nome diverso a tutti gli input come 'new_screen_price' 'old_screen_price'
se il tuo modulo è generato da js puoi farlo se non è inserito direttamente nell'html che hai
<input name='new_screen_price'>
<input name='new_screen_qty'>
...
dopo aver preso il tuo singolo valore in php come
$newScreen = [];
$newScreen['name'] = 'new screen';
$newScreen['price'] = $_POST['new_screen_price'];
metti il tuo prodotto array in uno
$products = [];
$products['newScreen'] = $newScreen;
sei pronto per la tua richiesta, faccio solo per due parametri prezzo e nome ma ovviamente hai bisogno di tutti
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();
}
buona giornata spero che questo possa aiutarti