Jointure entre deux tables [Résolu]

cs_Krasha 36 Messages postés mardi 25 septembre 2007Date d'inscription 29 mars 2010 Dernière intervention - 25 févr. 2010 à 01:53 - Dernière réponse : cs_Krasha 36 Messages postés mardi 25 septembre 2007Date d'inscription 29 mars 2010 Dernière intervention
- 25 févr. 2010 à 16:57
Salut,

Sur ma base de données j'ai deux tables distinctes qui devraient avoir une "liaison" entre elles. (les deux tables ci-dessous ne sont que des exemples).

TABLE CLIENT
id_client (auto_increment)
nom_client

TABLE_COMMANDE
id_commande (auto_increment)
id_client
montant_commande

Comme vous le voyez j'ai l'id_client qui se retrouve dans les deux. Pour TABLE_CLIENT c'est la clé primaire et pour TABLE_COMMANDE c'est une clé étrangère. Ces tables sont remplies par l'utilisateur à l'aide d'un formulaire php. L'utilisateur n'a pas besoin de s'occuper des clés primaires vu qu'elles sont en auto_increment, mais le reste il le rentre à la main.

Ce qui fait que je ne sais pas comment lier TABLE_CLIENT.id_client à TABLE_COMMANDE.id_client de manière automatique (l'utilisateur ne connait pas sont identifiant client il ne peut donc pas le noter).

Comment faire cette jointure entre les deux tables pour que ma clé secondaire corresponde bien à la clé primaire de l'autre table?

Je suppose que ça se fait au niveau du SQL et pas du php de mon formulaire, mais je ne sais pas comment m'y prendre.

Merci à vous
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cs_Krasha 36 Messages postés mardi 25 septembre 2007Date d'inscription 29 mars 2010 Dernière intervention - 25 févr. 2010 à 16:57
3
Merci
Merci pour vos réponses,

Je me rend compte que j'ai très mal formulé ma question, ce que je cherchais ce n'était pas de faire une jointure entre mes deux tables, mais comment relier un client (TABLE_CLIENT.id_client (PK) ) et une commande ( TABLE_COMMANDE.id_client (FK)) quand de l'id du client est généré automatiquement par Mysql et que le numéro de de la FK doit être le même, le tout dans un même formulaire.

En gros : comment récupérer une info avant qu'elle n'existe :D Bref j'ai compris que cela n'était pas possible et j'ai changé la nature de ma PK pour qu'elle soit générée par le php de ma page. Comme ça je duplique mon id sur cette page et je le rentre en FK dans l'autre table puisque tout se fait dans le même formulaire.

Enfin bref j'ai trouvé cette nuit une solution qui fonctionne, c'est le principal.

Je clos donc le message, merci à vous pour le temps que vous m'avez consacré.

Merci cs_Krasha 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de cs_Krasha
tpoinsot 345 Messages postés mardi 1 juin 2004Date d'inscription 17 octobre 2014 Dernière intervention - 25 févr. 2010 à 08:02
0
Merci
bonjour,

il te faut obligatoirement avoir l'id client en mémoire sinon tu ne peux pas créer de commande.

Donc, si tu n'as que le nom, tu fais une requête SQL pour obtenir l'id.
genre : select id from table where nom = $nom
tu stockes dans une variable $id que tu serviras à la requête d' INSERT
Commenter la réponse de tpoinsot
jimmypage64 164 Messages postés samedi 16 octobre 2004Date d'inscription 21 septembre 2010 Dernière intervention - 25 févr. 2010 à 12:33
0
Merci
Salut,

Comme l'as dit tpoinsot, tu es obligé d'avoir cet id_client.

Je suppose que le client doit se connecter avant de faire sa commande...? Tu peux alors éventuellement récupérer l'id dans une session lors de la connexion du client.
Tu auras l'id_client accessible durant toute sa navigation.

[8)]Zoso
Commenter la réponse de jimmypage64

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.