cs_Krasha
Messages postés36Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention29 mars 2010
-
25 févr. 2010 à 01:53
cs_Krasha
Messages postés36Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention29 mars 2010
-
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).
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.
cs_Krasha
Messages postés36Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention29 mars 2010 25 févr. 2010 à 16:57
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é.
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 25 févr. 2010 à 08:02
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
jimmypage64
Messages postés164Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention21 septembre 2010 25 févr. 2010 à 12:33
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.