Problème mysql avec 2 tables

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!

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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
    1. Contributeur
      cette eurreur concerne laquelle des deux requêtes ?
      1. 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?
      2. @tonioj'ai essayé, cela ne change rien :(
    2. Contributeur
      mets un espace entre ) et VALUES à ta 1ère ligne
      1. J'ai essayé, cela ne change rien :(
    3. Contributeur
      $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')";
      1. Toujours la même erreur ....

        (Tu avais changé quoi?)
    4. 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 .