-
Jointure entre tables ?
Re-bonjour à tous,
Voici mon deuxième soucis...
Un pro s'inscrit au site ce qui alimente ma table "membre" via un formulaire F1 (pseudo, mdp, mail...).
Pour être présent dans l'annuaire, il renseigne un formulaire F2 qui alimente l'annuaire (table "infirmière"), avec son adresse, numéro de tél....
Jusque là, ça à l'air de fonctionner. Enfin je veux dire par là que les deux tables se remplissent correctement.
Ensuite l'utilisateur souhaite modifier sa fiche, et là rien ne va plus....
Je voudrai qu'en cliquant sur un bouton "modifier ma fiche" (lorsque l'utilisateur est connecté), un formulaire apparaisse avec les champs de la table "infirmière" pré-remplis avec les données qu'il a déjà saisi lors de la première saisie de sa fiche.
Comme ça il modifie ce qu'il veut et il enregistre tout ça dans la BDD...
Comment faire ??
Je suis partie sur la piste d'une jointure entre les deux tables, j'ai pour l'instant rajouté un champ membre_id dans ma table "infirmière". Mais je sais pas comment continuer. Comment pré-remplir le formulaire ?
Les tutos sur internet ne considèrent pas ce cas particulier, et j'avoue que j'ai quelques lacunes...
La jointure doit elle se faire dans phpmyadmin ou bien par php dans mon code ?
Bref, là aussi, je galère comme il faut...
Merci pour votre aide, si vous avez un peu de temps pour moi...
Bien cordialement,
Karine
-
Deja est-ce qu'il est vraiment necessaire d'avoir deux tables ?
Tu pourrais très bien avoir une seule table avec simplement une colonne binaire pour indiquer si le membre doit etre dans l'annuaire ou pas.
Dans ton cas actuel :
- la jointure se fait au niveau de la requête
Code:
SELECT .... FROM membre LEFT JOIN infirmiere ON membre.membre_id = infirmiere.membre_id
- le formulaire de modification consiste simplement à lire les données existantes et les ecrire comme valeur dans tes champs
Code:
echo '<input type="text" name="nom" value="' . $row['nom'] . '" />';
-
super merci pour cette réponse qui m'éclaire déjà pas mal !!!
Je vais tenter ça et je reviens si jamais je m'en sors pas... (ce qui est fort probable vu mon niveau :roll:)...
Je te tiens au courant si jamais ça fonctionne du premier coup :zoubi:
Merci encore !!
-
Bon en fait... j'ai plusieurs interrogations...
1- le membre_id de la table "infirmière" doit être implémenté avec le membre_id de la table "membre" non ? Sinon la jointure fonctionne pas...
2- comment je fais ? lors de l'inscription le membre_id est attribué en auto-incrémentation. Comment je le récupère pour le mettre dans la table "infirmière" lors de l'ajout à l'annuaire ??
En fait :
1- le membre s'inscrit au site
2- il peut se déconner et revenir plus tard...
3- il peut alors (après s'être connecté) ajouter ses coordonnées à l'annuaire via un formulaire. C'est là qu'il faudrait que le membre_id soit renseigné dans la table "infirmières".
Ouh là là, je suis perdue...
-
Tu te compliquerai moins la vie avec une seule table.
Cependant :
- ton SGDB a sûrement une fonction pour obtenir l'id qu'il vient d'ajouter, ça c'est pour le cas "immédiatement lors de l'inscription"
- pour le cas ou l'utilisateur se reconnecte, tu vas connaitre son id correspondant au login/pass qu'il saisit pour s'identifier