Avoir 2nombres identiques dans BdD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Avoir 2nombres identiques dans BdD

Re: Avoir 2nombres identiques dans BdD

par Thechoucroute » 13 mars 2012, 17:17

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 !!

Re: Avoir 2nombres identiques dans BdD

par xTG » 13 mars 2012, 17:13

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

par Thechoucroute » 13 mars 2012, 17:02

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

par ouckileou » 13 mars 2012, 16:56

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

par Thechoucroute » 13 mars 2012, 16:48

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

par ouckileou » 13 mars 2012, 16:39

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.

Avoir 2nombres identiques dans BdD

par Thechoucroute » 13 mars 2012, 14:49

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 !