Problème mysql avec 2 tables

tonio -  
Webster95 Messages postés 655 Statut Membre -
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 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
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
tonio
 
Oui il est présent dans les deux tables Client et Contrat
0
ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
cette eurreur concerne laquelle des deux requêtes ?
0
tonio
 
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
 
j'ai essayé, cela ne change rien :(
0
ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
mets un espace entre ) et VALUES à ta 1ère ligne
0
tonio
 
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 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
$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
tonio
 
Toujours la même erreur ....

(Tu avais changé quoi?)
0
Webster95 Messages postés 655 Statut Membre 142
 
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