PHP/MySQL et clef étrangère - PHP - Programmation
Marsh Posté le 07-05-2004 à 13:18:36
la question est archi mal posée mais a mon avis c'est une jointure que tu veux ... ?
Marsh Posté le 07-05-2004 à 13:30:31
peut-être que la fonction mysql last_insert_id répond à ton problème
Marsh Posté le 07-05-2004 à 14:23:46
J'essaye d'être clair avec un exemple
On va dire que j'ai le formulaire suivant :
Nom du produit : Ecran 15"
Famille du produit : |Moniteur|V| <-- c une liste déroulante
J'ai les tables suivantes :
PRODUIT
num_produit
nom_produit
num_familleproduit
et
FAMILLEPRODUIT
num_familleproduit
nom_familleproduit
Donc, je voulais savoir comment enregistrer le num_familleproduit dans la table PRODUIT de la famille choisie lorsque je vais enregistrer cette fiche.
Marsh Posté le 07-05-2004 à 14:28:39
1) insérer FAMILLEPRODUIT
2) récupérer l'ID avec last_insert_id()
3) insérer PRODUITE avec comme num_familleproduit le résultat de last_insert_id()
Marsh Posté le 07-05-2004 à 14:29:28
mais comme la famille est une liste déroulante (existant dans la bdd donc) pourquoi faire un insert encore une fois ???
Marsh Posté le 07-05-2004 à 15:10:09
bin le num_familleproduit est une fk dans PRODUIT !
Donc ya pas à l'insérer dans FAMILLEPRODUIT mais bien dans PRODUIT !!
Marsh Posté le 07-05-2004 à 19:43:00
ah oui...
Ché plus si c t vraiment ça mon problème, ça me parait simple
Marsh Posté le 07-05-2004 à 12:50:12
Salut à tous,
depuis que je code sous PHP je me pose la question à savoir si il n'existe pas une méthode simple pour récuperer le libellé d'une table satelitte via sa clef.
Ex : J'ai une table PRODUIT, qui contient "num_familleProduit", et j'ai une table FAMILLEPRODUIT, avec donc la clef "num_familleProduit".
N'y a t il pas un moyen simple de faire un enregistrement d'un produit sans avoir à récuperer le numéro de sa famille dont le libellé a été sélectionné ?? (en gros faire un SELECT num_familleProduit where nom_familleProduit = "MONCHOIX" ) ??
---------------
"I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it" B. Gates