Bonjour,
J'ai un formulaire avec des noms de champs établis dynamiquement, et dont les valeurs proviennent d'une table
L'utilisateur doit renseigner pour chaque ligne un cout global et valider par la suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <td><input name="prod[]" type="text" id="prod[]" value="Fondant blanc" size="60" readonly> <input name="idRecord[]" type="hidden" id="idRecord[]" value="1"></td> <td><input name="qt[]" type="text" id="qt[]" value="15" size="5" readonly></td> <td><input name="cout[]" type="text" id="cout[]" size="10"></td> <td><input type="checkbox" name="tva[]" id="tva[]"></td>
Deux cas de figures après:
- Soit le produit existe une fois dans la table de la bdd, et s'effectue un simple 'update' de l'enregistrement avec le cout transmis par l'utilisateur
- Soit il existe plusieurs fois, et dans ce cas, je dois m'arranger pour redistribuer le cout en fonction de la quantité.
Mais c'est le premier point qui me préoccupe pour l'instant. Voici ce que j'ai fait jusqu'à présent:
La requête de modification ne renvoie rien, d'où cette question : comment puis-je récupérer précisément les valeurs de $_POST['idRecord'] et de $_POST['cout'] dans cette boucle pour que la requête soit effective ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 foreach ($_POST['prod'] as $prod) { // Combien de fois le produit est présent dans la table ? $select = 'SELECT designation FROM compta WHERE designation= "'.$prod.'"'; $requete = mysql_query($select) or die('Erreur SQL!'); $nbre = mysql_num_rows($requete); // S'il est présent qu'une seule fois if($nbre == 1) { // Je fais un "simple" update $update= 'UPDATE `alimentaires`.`compta` SET `cout` = "'.$_POST['cout'].'" WHERE `compta`.`idCompt` = "'.$_POST['idRecord'].'" LIMIT 1'; $requete1 = mysql_query($update) or die('Erreur SQL!'); } // Sinon, j'effectue un calcul elseif($nbre > 1) { echo 'calcul<br>'; } }
merci,
Partager