Problème envoi vers bdd pour commande
Fermé
guigeek
Messages postés
18
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
15 août 2008
-
27 juin 2007 à 16:26
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 29 juin 2007 à 17:06
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 29 juin 2007 à 17:06
A voir également:
- Problème envoi vers bdd pour commande
- Invite de commande - Guide
- Commande terminal mac - Guide
- Windows 7 vers windows 10 - Guide
- 'Pip' n’est pas reconnu en tant que commande interne ✓ - Forum Python
- Supprimer historique commande amazon - Forum Consommation & Internet
6 réponses
Doctor C
Messages postés
627
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
19 février 2016
398
27 juin 2007 à 17:37
27 juin 2007 à 17:37
Je sais pas si ta table Produit possède plus de deux valeurs mais si oui, il faudrait que tu spécifies lesquelles tu veux insérer dans ta requête. Ex :
Si ta table contient seulement 2 valeurs (nomprod et prix), laisse tomber ce que je viens de dire)
et quand tu dis que ça marche pas, as-tu un message d'erreur? ou rien ne se passe?
mysql_query("INSERT INTO Produit(nomProduit, prix) VALUES('$nomprod','$prix')");
Si ta table contient seulement 2 valeurs (nomprod et prix), laisse tomber ce que je viens de dire)
et quand tu dis que ça marche pas, as-tu un message d'erreur? ou rien ne se passe?
guigeek
Messages postés
18
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
15 août 2008
2
28 juin 2007 à 16:11
28 juin 2007 à 16:11
bon en fait j'ai changé quelques trucs
maintenant j'ai tout dans la bdd framedisprod
ca envoi bien dans la table BonCommande mais le problème c'est que ca envoi TOUS les produits que j'ai dans mon array et en 2 ou 3 exemplaires chacun !
maintenant j'ai tout dans la bdd framedisprod
ca envoi bien dans la table BonCommande mais le problème c'est que ca envoi TOUS les produits que j'ai dans mon array et en 2 ou 3 exemplaires chacun !
<form action="indexalpha.php"> <?php $cnx = mysql_connect("***", "framedisprod", "***") or die (mysql_error()); mysql_select_db("framedisprod", $cnx); $reponse = mysql_query("SELECT NomProduit,PrixUnitaireTTC,Dosage,Description,Utilisation,Composition FROM Produit") or die (mysql_error()); while ($donnees = mysql_fetch_array($reponse)) { echo "<tr>"; echo "<td>".$donnees['NomProduit']."</td>"; echo "<td>".$donnees['PrixUnitaireTTC']." €</td>"; echo "<td>".$donnees['Dosage']."</td>"; echo "<td>".$donnees['Description']."</td>"; echo "<td>".$donnees['Utilisation']."</td>"; echo "<td>".$donnees['Composition']."</td>"; echo "<td>"?><input type='submit' name='envoyer' value='Ajouter au panier'> <? $nomprod=$donnees['NomProduit']; $prix=$donnees['PrixUnitaireTTC']; mysql_query("INSERT INTO BonCommande (NoProd, NomProd, Prix, Quantite) VALUES('', '$nomprod', '$prix', 1)"); "</td>"; echo "</tr>"; } mysql_close(); ?> </form>
guigeek
Messages postés
18
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
15 août 2008
2
29 juin 2007 à 14:18
29 juin 2007 à 14:18
Est-ce que quelqu'un peu m'aider ?
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
29 juin 2007 à 15:54
29 juin 2007 à 15:54
J'ai peut-être mal saisi un truc, mais j'ai beau lire et relire ton script, je n'arrive pas à comprendre comment tu espères transmettre l'id de l'article à ajouter au panier.
À l'heure actuelle tu as un script php qui récupère les données de ta table, qui les présente dans un tableau HTML, puis à la suite un autre script php qui insère ces même données dans une autre table.
Le but du jeu, c'est de déclencher ce deuxième script seulement si l'utilisateur clique sur le bouton adéquat. C'est donc toute la logique de ton script qu'il faut revoir.
D'autre part, à quoi bon réenregistrer le prix et le nom du produit dans ta base de bon de commande, puisque ces données sont déjà présentes dans la première base et peuvent être liées grâce à l'id de l'article ?
Et enfin, à quoi ça sert de préciser la quantité si à aucun moment il est prévu de pouvoir l'incrémenter ?
Soit tu n'as pas posté l'ensemble de ton script, ou soit tout est à revoir...
À l'heure actuelle tu as un script php qui récupère les données de ta table, qui les présente dans un tableau HTML, puis à la suite un autre script php qui insère ces même données dans une autre table.
Le but du jeu, c'est de déclencher ce deuxième script seulement si l'utilisateur clique sur le bouton adéquat. C'est donc toute la logique de ton script qu'il faut revoir.
D'autre part, à quoi bon réenregistrer le prix et le nom du produit dans ta base de bon de commande, puisque ces données sont déjà présentes dans la première base et peuvent être liées grâce à l'id de l'article ?
Et enfin, à quoi ça sert de préciser la quantité si à aucun moment il est prévu de pouvoir l'incrémenter ?
Soit tu n'as pas posté l'ensemble de ton script, ou soit tout est à revoir...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
guigeek
Messages postés
18
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
15 août 2008
2
29 juin 2007 à 16:17
29 juin 2007 à 16:17
je ne vois pas où est le problème dans la logique de mon script
ce que je veux c'est que quand le client clique sur 'Ajouter au panier', ca ajoute dans la bdd BonCommande pour après pouvoir récupérer ces données dans le panier (d'ailleurs il y a peut-etre un moyen plus simple d'y arriver)
pour la quantité j'en ai peut-etre pas besoin effectivement, l'incrémentation ne se passera que dans le panier
ce que je veux c'est que quand le client clique sur 'Ajouter au panier', ca ajoute dans la bdd BonCommande pour après pouvoir récupérer ces données dans le panier (d'ailleurs il y a peut-etre un moyen plus simple d'y arriver)
pour la quantité j'en ai peut-etre pas besoin effectivement, l'incrémentation ne se passera que dans le panier
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
29 juin 2007 à 17:06
29 juin 2007 à 17:06
Ça c'est la logique de ton esprit, mais pas celle que tu as retranscrit dans ton script.
Comment ton bouton est lié à une quelconque action dans ce script ?
La seule action liée à ton bouton est de se rendre à l'url "indexalpha.php", en ne lui passant aucune donnée.
Et ton script d'enregistrement de commande n'est lié à aucune condition.
Admettons que ce script soit situé sur la page "indexalpha.php", voilà ce qu'il faudrait :
Voilà à quoi ça pourrait ressembler. Maintenant il te reste à gérer les quantités.
D'autre part je ne sais pas à quoi est destiné ce script, mais si plusieurs utilisateurs sont susceptibles d'effectuer une commande, il pourrait être intéressant de savoir à qui correspond chaque commande...
Comment ton bouton est lié à une quelconque action dans ce script ?
La seule action liée à ton bouton est de se rendre à l'url "indexalpha.php", en ne lui passant aucune donnée.
Et ton script d'enregistrement de commande n'est lié à aucune condition.
Admettons que ce script soit situé sur la page "indexalpha.php", voilà ce qu'il faudrait :
<form action="indexalpha.php" method="post"> <?php $cnx = mysql_connect("***", "framedisprod", "***") or die (mysql_error()); mysql_select_db("framedisprod", $cnx); $reponse = mysql_query("SELECT NoProd,NomProduit,PrixUnitaireTTC,Dosage,Description,Utilisation,Composition FROM Produit") or die (mysql_error()); while ($donnees = mysql_fetch_array($reponse)) { echo "<tr>"; echo "<td>".$donnees['NomProduit']."</td>"; echo "<td>".$donnees['PrixUnitaireTTC']." €</td>"; echo "<td>".$donnees['Dosage']."</td>"; echo "<td>".$donnees['Description']."</td>"; echo "<td>".$donnees['Utilisation']."</td>"; echo "<td>".$donnees['Composition']."</td>"; echo "<td><input type='hidden' name='ajout' value='".$donnees['NoProd']."'> <input type='submit' name='envoyer' value='Ajouter au panier'></td></tr>"; } echo "</form>"; if(isset($_POST["ajout"])) { mysql_query("INSERT INTO BonCommande (NoProd) VALUES('$_POST["ajout"]'); } mysql_close(); ?>
Voilà à quoi ça pourrait ressembler. Maintenant il te reste à gérer les quantités.
D'autre part je ne sais pas à quoi est destiné ce script, mais si plusieurs utilisateurs sont susceptibles d'effectuer une commande, il pourrait être intéressant de savoir à qui correspond chaque commande...