Problème mysql avec 2 tables

Fermé
tonio - 10 avril 2009 à 15:46
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 - 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!
A voir également:

6 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
10 avril 2009 à 15:52
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
0
Oui il est présent dans les deux tables Client et Contrat
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
10 avril 2009 à 16:07
cette eurreur concerne laquelle des deux requêtes ?
0
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?
0
tonio > tonio
10 avril 2009 à 16:20
j'ai essayé, cela ne change rien :(
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
10 avril 2009 à 16:18
mets un espace entre ) et VALUES à ta 1ère ligne
0
J'ai essayé, cela ne change rien :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
10 avril 2009 à 16:21
$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')";
0
Toujours la même erreur ....

(Tu avais changé quoi?)
0
Webster95 Messages postés 553 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 9 juillet 2013 142
10 avril 2009 à 16:49
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 .



0