Pb formulaire et clés étrangères
Posté : 11 juin 2009, 17:46
Bonjour à tous,
Tout d'abord, Je tiens à dire que je débutant en PHP et HTML, je vais donc tenter de vous expliquer mon problème clairement :
J'ai une base de données mysql, qui pour simplifier, contient les 3 tables suivantes :
FOURNISSEURS (Intitule_Fournisseur, Nom_Responsable_F, Nom_Interlocuteur, Adresse_F, CP_F, Ville_F, Tel_F, Fax_F, Mail_F)
PRODUITS(Intitule_Produit, Categorie, Sous_Categorie, Poids_Moyen, Code_Article, Ean_13)
ENTREES(ID_Entree, Date_Entree, Nb_Pieces_Entree, Quantite_Kg_Entree, Numero_Lot, #Intitule_Fournisseur, #Intitule_Produit)
Sous PHPMyAdmin je n'est aucun mal à ajouter de nouvelles valeurs dans ENTREES par contre dans ma page PHP, j'ai essayé de faire des menus déroulants pour les clés étrangères afin de ne pas avoir d'erreures d'implémentation de la part des utilisateurs.
C'est ici que ça se gate, j'arrive bien à récupérer les valeurs de mes clés étrangères dans mes menus déroulant mais lorsque je veux valider ma requête INSERT j'ai une erreur qui me met :
... Cannot add or update a child row : a foreign key constraint fails ....
Voici mon code :
Je suis conscient que mon code doit être crade mais bon tant que ça marche ...
Merci d'avance pour votre aide.
Tout d'abord, Je tiens à dire que je débutant en PHP et HTML, je vais donc tenter de vous expliquer mon problème clairement :
J'ai une base de données mysql, qui pour simplifier, contient les 3 tables suivantes :
FOURNISSEURS (Intitule_Fournisseur, Nom_Responsable_F, Nom_Interlocuteur, Adresse_F, CP_F, Ville_F, Tel_F, Fax_F, Mail_F)
PRODUITS(Intitule_Produit, Categorie, Sous_Categorie, Poids_Moyen, Code_Article, Ean_13)
ENTREES(ID_Entree, Date_Entree, Nb_Pieces_Entree, Quantite_Kg_Entree, Numero_Lot, #Intitule_Fournisseur, #Intitule_Produit)
Sous PHPMyAdmin je n'est aucun mal à ajouter de nouvelles valeurs dans ENTREES par contre dans ma page PHP, j'ai essayé de faire des menus déroulants pour les clés étrangères afin de ne pas avoir d'erreures d'implémentation de la part des utilisateurs.
C'est ici que ça se gate, j'arrive bien à récupérer les valeurs de mes clés étrangères dans mes menus déroulant mais lorsque je veux valider ma requête INSERT j'ai une erreur qui me met :
... Cannot add or update a child row : a foreign key constraint fails ....
Voici mon code :
<?php
if(!empty($_POST))
{
extract($_POST);
$sql="INSERT INTO ENTREES (Date_Entree, Nb_Pieces_Entree, Quantite_Kg_Entree, Numero_Lot, Intitule_Fournisseur, Intitule_Produit) VALUES ('$date', '$nb_pieces', '$qte_kg', '$num', '$fournisseur', '$produit')";
$req= mysql_query($sql) or die ('erreur SQL !<br>'.$sql.'<br>'.mysql_error());
header('Location: ./Entrees.php');
}
?>
<form method="post" action="Entrees.php">
Date Entree : <input type="text" name="date"/>
Nombre de pieces : <input type="text" name="nb_pieces"/>
Quantite en Kg : <input type="text" name="qte_kg"/>
Numero du lot : <input type="text" name="num"/><br/><br/>
Fournisseur :
<?php
$req = mysql_query('SELECT Intitule_Fournisseur FROM FOURNISSEURS');
echo '<select name="fournisseur">';
while($choix = mysql_fetch_assoc($req) )
{
echo '<option value="'.$choix[Intitule_Fourniseur].'">'.$choix[Intitule_Fournisseur].'</option>';
}
echo '</select>';
?>
Produit :
<?php
$req1 = mysql_query('SELECT Intitule_Produit FROM PRODUITS');
echo '<select name="produit">';
while($choix = mysql_fetch_assoc($req1) )
{
echo '<option value="'.$choix[Intitule_Produit].'">'.$choix[Intitule_Produit].'</option>';
}
echo '</select>';
?>
<input type="submit" value="Ajouter"/><br/><br/>
</form>
Je suis conscient que mon code doit être crade mais bon tant que ça marche ...
Merci d'avance pour votre aide.