Les Allergies
Alimentaires
Posez votre question Signaler

Problème mysql avec 2 tables

tonio - Dernière réponse le 10 avril 2009 à 16:49
Bonjour,
Je travail sous PHPMYADMIN et j'ai un base de données avec plusieurs tables :
Table Client
et
Table Contrat
Chaque Client a un N° ainsi que chaque Contrat.
J'ai 2 formulaires qui sont liés, le 1er:
Client:
N° Client
Nom
Prenom
Tel
....
Contrat:
N° Contrat
TypeContrat
....
Le problème est qu'à la saisie je rentre mes données dans Les 2 formulaires mais dans ma 2eme requete je voudrais lier le Contrat avec le N° Client....
Je ne sais pas si je m'exprime bien... Voici mon code:
$query="INSERT INTO client(NumClient,Societe,Nom,Prenom,Fonction,Tel,Fax,Mail,TelMobile,NomContact)VALUES ('$NumClient','$Societe','$Nom','$Prenom','$Fonction','$Tel','$Fax','$Mail','$TelMobile','$NomContact')";
$query2="INSERT INTO contrat(NumClient,NumContrat,JourDebut,MoisDebut,AnneeDebut,JourFin,MoisFin,AnneeFin,NomTypeContrat,Actif,MontantHT,Periodicite,Terme,Paiement) VALUES ('$NumClient',$NumContrat','$JourDebut','$MoisDebut','$AnneeDebut','$JourFin','$MoisFin','$AnneeFin','$NomTypeContrat','$Actif','$MontantHT','$Periodicite','$Terme','$Paiement')";


et il m'affiche le message d'erreur:
Champ: 'NumClient' dans field list est ambigu

Je ne sais pas comment faire surtout que les clefs étrangères n'existe pas sous phpmyadmin 3
Pourriez vous m'aider svp?
Merci!
Lire la suite 

Problème mysql avec 2 tables »

10 réponses
Réponse
+0
moins plus
ton champ NumClient est bien présent dans ta table contrat ou pas ?
Si ce n'est pas le cas il va falloir que tu l'ajoutes
Ajouter un commentaire
Réponse
+0
moins plus
Oui il est présent dans les deux tables Client et Contrat
Ajouter un commentaire
Réponse
+0
moins plus
cette eurreur concerne laquelle des deux requêtes ?
tonio - 10 avril 2009 à 16:15
Voila après quelques essais j'ai résolu CE problème mais j'en ai un autre qui concerne la 2ème requete, voici mon code:

$query="INSERT INTO client(NumClient,Societe,Nom,Prenom,Fonction,Tel,Fax,Mail,TelMobile,NomContact)VALUES ('$NumClient','$Societe','$Nom','$Prenom','$Fonction','$Tel','$Fax','$Mail','$TelMobile','$NomContact')";

$query2="INSERT INTO contrat(NumClient,NumContrat,JourDebut,MoisDebut,AnneeDebut,JourFin,MoisFin,AnneeFin,NomTypeContrat,Actif,MontantHT,Periodicite,Terme,Paiement) VALUES ('$NumClient',$NumContrat','$JourDebut','$MoisDebut','$AnneeDebut','$JourFin','$MoisFin','$AnneeFin','$NomTypeContrat','$Actif','$MontantHT','$Periodicite','$Terme','$Paiement')";

if(!mysql_db_query($bdd_db,$query)) die(mysql_error());
echo "Vos donn&eacute;es ont bien &eacute;t&eacute; enregistr&eacute;es pour la requete 1. Voici un r&eacute;capitulatif :<br><br>";

if(!mysql_db_query($bdd_db,$query2)) die(mysql_error());
echo "Vos donn&eacute;es ont bien &eacute;t&eacute; enregistr&eacute;es pour la requete 2. Voici un r&eacute;capitulatif :";

$req = "SELECT NumClient, Societe, Nom, Prenom, Fonction, Tel, Fax, Mail, TelMobile, NomContact, IDContact,NumContrat,JourDebut,MoisDebut,AnneeDebut,JourFin,MoisFin,AnneeFin,NomTypeContrat,Actif,MontantHT,Periodicite,Terme,PaiementFROM client;contact WHERE NumClient=$NumClient";

$sql = mysql_query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error());


et l'affichage:

Vos données ont bien été enregistrées pour la requete 1. Voici un récapitulatif :

Erreur de syntaxe près de '','1','0','1999','1','0','1999','HotMaJ','Non','0','','','Oui')' à la ligne 1



les '1' '0' '1999' 'HotMaj' .... correspondent aux données entrées dans le 2eme formulaire.
Savez vous d'ou cela peut venir?
tonio - 10 avril 2009 à 16:20
j'ai essayé, cela ne change rien :(
Ajouter un commentaire
Réponse
+0
moins plus
mets un espace entre ) et VALUES à ta 1ère ligne
tonio - 10 avril 2009 à 16:20
J'ai essayé, cela ne change rien :(
Ajouter un commentaire
Réponse
+0
moins plus
$query="INSERT INTO client(NumClient,Societe,Nom,Prenom,Fonction,Tel,Fax,Mail,TelMobile,NomContact) VALUES('$NumClient','$Societe','$Nom','$Prenom','$Fonction','$Tel','$Fax','$Mail','$TelMobile','$NomContact')";
tonio - 10 avril 2009 à 16:29
Toujours la même erreur ....

(Tu avais changé quoi?)
Ajouter un commentaire
Réponse
+0
moins plus
Salut, j'ai déja eu ce type d'erruer, vérifie, que tu as bien renseigné, et surtout , dans l'ordre de tes tables ton INSERT INTO VALUES:
"INSERT INTO contrat(NumClient,NumContrat,JourDebut,MoisDebut,AnneeDebut,JourFin,MoisFin,AnneeFin,NomTypeContrat,Actif,MontantHT,Periodicite,Terme,Paiement) VALUES ('$NumClient',$NumContrat','$JourDebut','$MoisDebut','$AnneeDebut','$JourFin','$MoisFin','$AnneeFin','$NomTypeContrat','$Actif','$MontantHT','$Periodicite','$Terme','$Paiement')"


Dans ta table, te colonnes doivent etre dans cet ordre:
Num clien en 1er, Num contrat en 2eme ....

et tous dans l'ordre, vérifie aussi que ta table est bien présente, si oui, vérifie si tu indique tous les champs dans l'ordre de tes colonnes de gauche a droite .



Ajouter un commentaire
Ce document intitulé « Problème mysql avec 2 tables » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?