Salut a tous j'ai un projet a réaliser j'ai un problème
je vends des produits ( antivirus )
je souhaite réaliser un script de commande et la problème
ma base de donnée :
commande(NumCommande,NumClientCommande)
lignecommande(NumCommandeLigneCommande,NumProduitLigneCommande,Quantite)
Code :
--
-- Structure de la table `commande`
--
CREATE TABLE `commande` (
`NumCommande` int(30) NOT NULL auto_increment,
`NumClientCommande` int(30) NOT NULL default '0',
PRIMARY KEY (`NumCommande`),
KEY `NumClientCommande` (`NumClientCommande`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Contenu de la table `commande`
--
INSERT INTO `commande` VALUES (1, 1);
INSERT INTO `commande` VALUES (2, 2);
-- --------------------------------------------------------
--
-- Structure de la table `lignecommande`
--
CREATE TABLE `lignecommande` (
`NumCommandeLigneCommande` int(30) NOT NULL default '0',
`NumProduitLigneCommande` int(30) NOT NULL default '0',
`Quantite` int(30) NOT NULL default '0',
PRIMARY KEY (`NumCommandeLigneCommande`,`NumProduitLigneCommande`),
KEY `NumProduitLigneCommande` (`NumProduitLigneCommande`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Contenu de la table `lignecommande`
--
INSERT INTO `lignecommande` VALUES (1, 1, 10);
INSERT INTO `lignecommande` VALUES (1, 2, 20);
INSERT INTO `lignecommande` VALUES (2, 1, 5);
INSERT INTO `lignecommande` VALUES (2, 2, 5);
Ce que j'ai voulu realiser :
la table commande avec le numeros de la commande en auto increment ainsi que le numeros du client de cette commande
la table lignecommande avec numeros de la commande(NumCommandeLigneCommande) le numeros des produits commander(NumProduitLigneCommande) et la quantitée(Quantite)
et ca marche
et voila mon code php :
Code :
<?php
//Affectation des valeurs saisies dans des variables
$NumClientCommande=$_POST['NumClientCommande'];
$NumProduitLigneCommande=$_POST['NumProduitLigneCommande'];
$Quantite=$_POST['Quantite'];
//Connexion au serveur et ouverture de la base Security_Project
mysql_connect("localhost","root","");
mysql_select_db("security_project");
//Requête d'insertion des données dans la table commande
$reqD="INSERT INTO `commande` VALUES ('',$NumClientCommande)";
$resultD=mysql_query($reqD) or die("erreur".mysql_error());
echo"Votre commande a bien été sauvegardée.<br/><br/>";
//Recherche du numéro du commande qui vient d'être enregistré
$sql=mysql_query("SELECT max(NumCommande) AS DernierNum FROM commande");
//Message de contrôle et de renvoi du numero du dernier client
$enr=mysql_fetch_array($sql);
$NumC=$enr['DernierNum'];
echo"Le numero suivant de commande vous a été attribué:".$NumC."<br/><br/>";
echo"Le numero suivant de commande vous a été attribué:".$NumC."<br/><br/>";
echo"numeros du produit:".$NumProduitLigneCommande."<br/><br/>";
echo"quantite du produit:".$Quantite."<br/><br/>";
//Requête d'insertion des données dans la table commande
$reqC="INSERT INTO `lignecommande` VALUES($NumC,$NumProduitLigneCommande,$Quantite)";
// Exécution de la requête
$resultC=mysql_query($reqC) or die("erreur".mysql_error());
echo"Votre commande a bien été sauvegardée.<br/><br/>";
//Fermeture de la connexion MySQL
mysql_close();
?>
Code :
<table>
<tr>
<td><input type="checkbox" name="NumProduitLigneCommande" value="1">
<td><A href="basic_protection.html" title="Gratuit !"><IMG src="images/mini vert.png" border="0"></A></td>
<td style="color:#238E23;"><H2><u>Basic Protection </u> (l'antivirus gratuit)</H2>
Security_Porject vous propose un antivirus gratuit offrant la meilleure protection qui soit contre les virus et les logiciels espions dans sa version gratuite. Téléchargez le logiciel Security_Project gratuitement dès maintenant en vous inscrivant.</td>
<td>Quantité:<input type="text" name="Quantite" size="1"></td>
</tr>
<tr>
<td><input type="checkbox" name="NumProduitLigneCommande" value="2">
<td><A href="total_protection.html" title="Payant Particulier !"><IMG src="images/mini rouge.png" border="0"></A></td>
<td style="color:#238E23;"><H2><u>Total Protection </u> (Une protection maximale pour les particuliers)</H2>
Security_Project utilise la technologie développée par ses informaticiens pour les particuliers </br>
pour détecter et effacer toute trace de logiciels malveillants </br>
comme les vers, les chevaux de Troie, les rootkits, les logiciels frauduleux, les composeurs, les logiciels espions et plus.</br>
<td>Quantité:<input type="text" name="Quantite" size="1"></td>
</td>
</tr>
<tr>
<td><input type="checkbox" name="NumProduitLigneCommande" value="3">
<td><A href="total_company_protection.html" title="Payant Entreprise !"><IMG src="images/mini magenta.png" border="0"></A></td>
<td style="color:#238E23;"><H2><u>Total Company Protection </u> (Une protection maximale pour les entreprises )</H2>
Security_Project utilise la technologie développée par ses informaticiens pour les entreprises </br>
pour détecter et effacer toute trace de logiciels malveillants </br>
comme les vers, les chevaux de Troie, les rootkits, les logiciels frauduleux, les composeurs, les logiciels espions et plus.</br>
</td>
<td>Quantité:<input type="text" name="Quantite" size="1"></td>
</tr>
</table>
<BR/>
entrer votre numeros de client:<input type="text" name="NumClientCommande" size="1">
<BR/>
<center><Input type="submit" name="envoie" value="Commande"></center>
<BR/>
mon probleme :
Votre commande a bien été sauvegardée.
Le numero suivant de commande vous a été attribué:8
numeros du produit:1
quantite du produit:
erreurYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
je pense donc a un probleme dans la deuxieme requete ( car le php ne trouve pas la quantite)