Page 1 sur 1

Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 14:49
par Thechoucroute
Bonjour !!
Je suis en terminal stg et je dois faire un projet pour le BAC. En bref, je fais un formulaire html/php, j'ai quasiment fini mais quelqeu chose m'agace.

J'ai x requêtes(pour l'exemple 2) :
$query3 = sprintf( "INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( %s, 1, '$Pizza01'
);", $num_com = mysql_insert_id()
);
$result3 = mysql_query($query3);
$query4 = sprintf( "INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( %s, 2, '$Pizza02'
);", $num_com
);
$result4 = mysql_query($query4);
J'aimerai additionner les 2 query.
Dans la BdD avoir le num_Commande = 1et avoir le plat 1 quantité 2 et num_Commande =1 et avoir le plat 2 quantité 1.
Donc d'avoir un num_Commande identique.
Je commence vraiment à péter un câble :D
Merci à tous !

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 16:39
par ouckileou
Je ne comprends pas, quel est le probleme exactement, pourquoi ca ne marche pas ? Et qu'est-ce que tu entends par "additionner" les deux requetes? Donne nous la structure de ta base qu'on comprenne comment tu as fait les choses.

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 16:48
par Thechoucroute
Je met un morceaux des résultats quand je valide mon formulaire :
INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( 19, 1, '2'
);INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( 19, 2, '4'
);
Donc très bien
Num_Commande 19 => Plat 1 => 2 Quantité
Num_Commande 19 => Plat 2 => 4 Quantité
Très bien
Mais malheureusement dans ma base de données sur Phpmyadmin
J'ai juste query3 Soit Image
Il me manque query4! :(

C'est plus clair, si ce n'est pas clair dit le moi ! :D
Image Voilà la BdD

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 16:56
par ouckileou
donc tu as une table "commandes", une table "plats" et ta relation "ligne_cmd" fait le lien, right?

Si tu veux avoir tes deux lignes, verifies les contraintes sur ta relation, tu as peut-etre une contrainte d'unicite qui t'empeche d'aovir deux fois le meme numero de commande par exemple.

Et affiche les erreurs lorsque tu executes une requete: sql-bases-donnees/php-sql-etapes-suivre ... 19378.html

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 17:02
par Thechoucroute
Bon j'affiche tout mon code php. Attention, c'est ma première utilisation du php ! C'est peut être pas très beau mais j'ai fais comme je comprend ! :D J'aurais pu faire avec les %s mais bon ^^'
<?php
print_r($_POST);
$Nom = $_POST['Nom'];
$Prénom = $_POST['Prénom'];
$Rue = $_POST['Rue'];
$Codepostal = $_POST['Codepostal'];
$Commune=$_POST['Commune'];
$Téléphone=$_POST['Téléphone'];
$Mail=$_POST['Mail'];
$jour=$_POST['Jour'];
$mois=$_POST['Mois'];
$année=$_POST['Année'];
$heure=$_POST['Heure'];
$chaine_date = $année."-".$mois."-".$jour." ".$heure.":00";
$Pizza01 = $_POST['Pizza_au_chorizo'];
$Pizza02 = $_POST['Pizza_au_jambon_et_à_l’ananas'];
$Pizza03 = $_POST['Pizza_traditionnelle'];
$Quiche01 = $_POST['Quiche_au_saumon'];
$Quiche02 = $_POST['Quiche_aux_courgette'];
$Potage01 = $_POST['Potage_aux_haricots'];
$Potage02 = $_POST['Potage_aux_oignons'];
$Potage03 = $_POST['Potage_aux_tomates'];
$Potage04 = $_POST['Potage_de_la_mer'];
$Salade01 = $_POST['Salade_composée'];
$Salade02 = $_POST['Salade_mexicaine'];
$Salade03 = $_POST['Salade_d’épinards_et_poivrons'];
$Salade04 = $_POST['Salade_de_la_mer'];

$link = mysql_connect("localhost", "root", "admin")
    or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';
mysql_select_db('ProjetBase', $link);

$query = sprintf( "INSERT INTO  `CLIENT` ( `Nom` ,  `Prénom` ,  `Rue` ,  `CodePostal` ,  `Commune` ,  `Téléphone` ,  `Mail` ) 
VALUES ( '$Nom','$Prénom','$Rue','$Codepostal','$Commune','$Téléphone','$Mail'
);"); 
$result = mysql_query($query);

$query2 = sprintf ("INSERT INTO  `COMMANDE` (   `Num_Client` ,  `date` ) 
VALUES ( %s, '$chaine_date'
);", mysql_insert_id()
);
$result2 = mysql_query($query2);

$query3 = sprintf( "INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( %s, 1, '$Pizza01'
);", $num_com = mysql_insert_id()
);
$result3 = mysql_query($query3);

$query4 = sprintf( "INSERT INTO `LIGNE-CDE`   (  `Num_Commande` , `Num_Plat` , `Quantité` )
VALUES ( %s, 2, '$Pizza02'
);", $num_com
);
$result4 = mysql_query($query4);

echo($query);
echo($query2);
echo($query3);
echo($query4);
mysql_close($link);
?>
Je n'ai aucune erreur, enfin je crois.

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 17:13
par xTG
Non, là on te parle de configuration de relation, pas de code.
C'est lorsque que tu as créés ta table que tu y as inséré une relation qui empêche ce que tu veux faire.
En l’occurrence là il faudrait un clé primaire sur deux champs.
Tu as du mettre une clé primaire uniquement sur l'un des deux, ou bien avoir placé une seconde contrainte (unique par exemple) en plus de la clé primaire qui provoque ce résultat.

Re: Avoir 2nombres identiques dans BdD

Posté : 13 mars 2012, 17:17
par Thechoucroute
Haha !!!!
En effet !!!!!
C'était Num_commande qui était en clé primaire !!!!
Merci beaucoup !!
J'ai encore beaucoup de mal avec tous les paramètres à prendre en compte !!

Merci, merci, merci, merci !!