Bonjour,
Le problème avance un peu si j'ose dire... En fait, il vient de la requête qui génère le formulaire.
SELECT idCompt, designation, SUM(quantite) AS quantite
FROM `compta`
WHERE `nBonCom` = '".$_SESSION['nBonCom']."'
GROUP BY designation
Un extrait du formulaire en lui même pour rappel
<td><input name="prod[29]" id="prod[29]" value="Boudin antillais" size="60" readonly="readonly" type="text"></td>
<td><input name="qt[29]" id="qt[29]" value="1.0" size="5" readonly="readonly" type="text"></td>
<td><input name="cout[29]" id="cout[29]" size="10" type="text"></td>
...
<td><input name="prod[25]" id="prod[25]" value="Carré de porc 4 côtes" size="60" readonly="readonly" type="text"></td>...
De ce fait, je ne dispose plus de la totalité des identifiants (idCompt) dans la table, puisque "regroupés". Et les résultats de la requête suite à la boucle s'en trouvent naturellement faussés...
foreach($_POST['idRecord'] as $key => $id) {
// parcours de la table pour chercher chaque quantité, de chaque produit
$select = "SELECT quantite
FROM `compta`
WHERE `idCompt` = '".$id."'";
...
Ainsi que mes calculs de TVA:
$cout = ($data['quantite'] * $_POST['cout'][$key])/ $_POST['qt'][$key];
$ttc = empty ($_POST['tva'][$key]) ? $cout + ($cout * 0.196) : $cout + ($cout * 0.055);
Le seul rapport valable que je puisse trouver entre le formulaire et la table sont les produits (designation). Correction apportée:
foreach($_POST['prod'] as $key => $prod) {
// parcours de la table pour chercher chaque quantité, pour chaque produit
$select = "SELECT idCompt, designation, quantite
FROM `compta`
WHERE `designation` = '".$prod."'";
Ca marche nettement mieux en opérant de cette façon, mais ce n'est pas suffisant. Le ration coût/ quantité n'est toujours pas respecté.

Comment puis-je corriger cela?
merci,