Ajout d'une nouvelle commande avec PHP
Résolu
glow_ivory
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
glow_ivory Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
glow_ivory Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur 2 fichiers pour l'ajout d'une nouvelle commande ,le 1er fichier est en HTML il contient un formulaire ,le 2eme est en PHP (il contient les requettes nécessaires pour l'insertion d'une nouvelle commande )et ça marche bien pour un seul produit
le probleme c'est que je veux faire la meme chose pour plusieurs produits en meme temps(sachant que mon premier fichier contient un script qui permet d'ajouter une nouvelle ligne dans mon formulaire une fois je clique sur le boutton) ,j'ai pensé à garder le meme code avec l'ajout d'une boucle ,mais ça marche pas parce que je sais pas ou je dois mettre la boucle exactement
voici mes 2 fichiers:
fichier1(HTML):
fichier2
Merci pour votre aide
je travaille sur 2 fichiers pour l'ajout d'une nouvelle commande ,le 1er fichier est en HTML il contient un formulaire ,le 2eme est en PHP (il contient les requettes nécessaires pour l'insertion d'une nouvelle commande )et ça marche bien pour un seul produit
le probleme c'est que je veux faire la meme chose pour plusieurs produits en meme temps(sachant que mon premier fichier contient un script qui permet d'ajouter une nouvelle ligne dans mon formulaire une fois je clique sur le boutton) ,j'ai pensé à garder le meme code avec l'ajout d'une boucle ,mais ça marche pas parce que je sais pas ou je dois mettre la boucle exactement
voici mes 2 fichiers:
fichier1(HTML):
<html> <HEAD> <TITLE>detail de commande</TITLE> <SCRIPT LANGUAGE="JavaScript" SRC="CalendarPopup.js"></SCRIPT> <SCRIPT LANGUAGE="JavaScript"> var cal = new CalendarPopup(); </SCRIPT> </HEAD> <body> <form name="form" action="detail_cmd2.php" method="post"> Nmero de commande:<input type="text" name="num" id="num" value=""></br> dte <INPUT TYPE="text" NAME="date1" id="date1" VALUE="" SIZE=25> <A HREF="#" onClick="cal.select(document.forms['form'].date1,'anchor1','yyyy-MM-dd'); return false;" NAME="anchor1" ID="anchor1">select</A></br> <Div ID=saisies> Produit 1 <input type=text size=4 name="P1" id="P1"> Quantité 1 <input type=text name="QT1" id="QT1"></Div></br> <Input Type=Button Value="Ajouter une ligne" OnClick=Ajouter()></br> <script> var nlignes = 1; function Ajouter(){ nlignes++; saisies.insertAdjacentHTML('BeforeEnd','<BR>Produit '+nlignes+' <input type=text size=4 name=P'+nlignes+' id=P'+nlignes+' > Quantité '+nlignes+' <input type=text name=QT'+nlignes+' id=QT'+nlignes+'>'); }; </script> <input type="submit" name="envoyer" value="Valider"></center> </form> </body>
fichier2
<htmL > <head> <title></title> </head> <body> <?php try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=bon_commande', 'root', '', $pdo_options); $reqq = $bdd->prepare('SELECT price FROM sku WHERE code_sku = ?'); $reqq->execute(array($_POST['P1'])); while ($donnees = $reqq->fetch()) { $var=$donnees['price']; } $reqq->closeCursor(); $req = $bdd->prepare('INSERT INTO detail_cmd(code_sku,num_cmd,qte,dte,prix ) VALUES(:P1, :num, :QT1, :date1, :prix)'); $req->execute(array( 'P1'=> $_POST['P1'], 'num'=> $_POST['num'], 'QT1'=> $_POST['QT1'], 'date1'=> $_POST['date1'], 'prix' => $var )); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } echo'<p>la grille a été bien remplie</p>'; ?> </div> <!-- Le pied de page --> </body> </html>
Merci pour votre aide
A voir également:
- Ajout d'une nouvelle commande avec PHP
- Darkino nouvelle adresse - Guide
- Invite de commande - Guide
- Commande terminal mac - Guide
- Extreme download nouvelle adresse - Accueil - Outils
- Supprimer historique commande amazon - Forum Consommation & Internet
2 réponses
essayes comme ça:
<html> <HEAD> <TITLE>detail de commande</TITLE> <SCRIPT LANGUAGE="JavaScript" SRC="CalendarPopup.js"></SCRIPT> <SCRIPT LANGUAGE="JavaScript"> var cal = new CalendarPopup(); </SCRIPT> </HEAD> <body> <form name="form" action="detail_cmd2.php" method="post"> Nmero de commande:<input type="text" name="num" id="num" value=""></br> dte <INPUT TYPE="text" NAME="date1" id="date1" VALUE="" SIZE=25> <A HREF="#" onClick="cal.select(document.forms['form'].date1,'anchor1','yyyy-MM-dd'); return false;" NAME="anchor1" ID="anchor1">select</A></br> <Div ID=saisies> Produit 1 <input type=text size=4 name="P1" id="P1"> Quantité 1 <input type=text name="QT1" id="QT1"></Div></br> <Input Type=Button Value="Ajouter une ligne" OnClick=Ajouter()></br> <script> var nlignes = 1; function Ajouter(){ nlignes++; saisies.insertAdjacentHTML('BeforeEnd','<BR>Produit '+nlignes+' <input type=text size=4 name=P'+nlignes+' id=P'+nlignes+' > Quantité '+nlignes+' <input type=text name=QT'+nlignes+' id=QT'+nlignes+'>'); // rajoutes cette ligne // document.getElementById('nombre_lignes').value=nlignes; }; </script> <!-- rajoutes cette ligne --> <input type="hidden" name="nombre_lignes" id="nombre_lignes" value="1" /> <input type="submit" name="envoyer" value="Valider"></center> </form> </body> fichier2 <htmL > <head> <title></title> </head> <body> <?php //recup nombre de lignes $nombre_lignes=$_POST['nombre_lignes']; try { // On se connecte à MySQL $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=bon_commande', 'root', '', $pdo_options); for($n=1;$n<=$nombre_lignes;$n++){ $reqq = $bdd->prepare('SELECT price FROM sku WHERE code_sku = ?'); $reqq->execute(array($_POST['P'.$n])); while ($donnees = $reqq->fetch()) { $var=$donnees['price']; } $reqq->closeCursor(); $req = $bdd->prepare('INSERT INTO detail_cmd(code_sku,num_cmd,qte,dte,prix ) VALUES(:P1, :num, :QT1, :date1, :prix)'); $req->execute(array( 'P1'=> $_POST['P'.$n], 'num'=> $_POST['num'], 'QT1'=> $_POST['QT'.$n], 'date1'=> $_POST['date'.$n], 'prix' => $var )); } } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } echo'<p>la grille a été bien remplie</p>'; ?> </div> <!-- Le pied de page --> </body> </html>