Lier 2 tables mysql
sim
-
sim -
sim -
Bonjour à tous, je vais essayer d'expliquer le plus clairement possible mon problème :
Je suis en train de créer un site de location de maisons.
J'ai une table nommée 'membres' possédant entre autres les champs 'id','nom'.
Une deuxième table nommée 'location'.
Je voudrais qu'à partir d'un formulaire, un membre puisse ajouter une location dans la table 'location' et rajouter son id pour chacune de ses locations.
1) Je voudrais savoir comment récupérer le champ 'id' associé au 'nom' se trouvant dans la table 'membre'.
2) Mais un problème se pose: si un membre de désinscri, l'id (autoincrmenté) va changer, et donc l'association de l'id de la table 'location' ne correspondra plus a la même personne dans 'membres' ....
J'espère avoir été clair.
Merci !
Je suis en train de créer un site de location de maisons.
J'ai une table nommée 'membres' possédant entre autres les champs 'id','nom'.
Une deuxième table nommée 'location'.
Je voudrais qu'à partir d'un formulaire, un membre puisse ajouter une location dans la table 'location' et rajouter son id pour chacune de ses locations.
1) Je voudrais savoir comment récupérer le champ 'id' associé au 'nom' se trouvant dans la table 'membre'.
2) Mais un problème se pose: si un membre de désinscri, l'id (autoincrmenté) va changer, et donc l'association de l'id de la table 'location' ne correspondra plus a la même personne dans 'membres' ....
J'espère avoir été clair.
Merci !
A voir également:
- Lier 2 tables mysql
- Supercopier 2 - Télécharger - Gestion de fichiers
- Tables des matières word - Guide
- 2 ecran pc - Guide
- Mysql community server - Télécharger - Bases de données
- Faire 2 colonnes sur word - Guide
6 réponses
puisque personne se lance, je vais essayer de taider. si cela se passe comme access, je pense quil faut que tu fasses une clef primaire pour table identifiant (auto)et une clef secondaire pour la table maison et lier les deux avec ces 2 clefs.
en fait tu auras (1.0)= une cef a plusieurs maisons. jespere que cela taidera.
en fait tu auras (1.0)= une cef a plusieurs maisons. jespere que cela taidera.
ok, je crois que j'ai compris :
sur ma table location il y a une clé qui n'est pas autoincrementée
et sur membre la clé est autoincrmentée.
Mais comment fait pour les lier ? quelqu'un a une idée ?
merci !
sur ma table location il y a une clé qui n'est pas autoincrementée
et sur membre la clé est autoincrmentée.
Mais comment fait pour les lier ? quelqu'un a une idée ?
merci !
Voila ce que j'ai tenté de faire, pour trouver l'id correspondant au mail ....
mais ça ne marche pas ...
mysql_connect("db198.1and1.fr", "dbo227375794", "0686sv44"); // Connexion à MySQL mysql_select_db("db227375794"); // Sélection de la base // On est connectés, on peut travailler sur la BDD $reponse=mysql_query("SELECT * FROM membres WHERE nom='$_SESSION['email']'") or die(mysql_error()); //TOUT les membres $reponse['id']; echo $reponse;
mais ça ne marche pas ...
Bonjour,
Pour t'aider, tout d'abord dans les bases de données, jète un oeil sur google sur MEA (Modèle Entité Association) qui t'aidera à concevoir un "schéma" (ton MEA) avec tes tables.
Pour toi nous avons ici un membre qui pourra avoir plusieurs locations et une location qui ne pourra exister pour un seul membre.
Soit: Membre (1,n) -> Location (1,1)
Tu gardes les deux extrémité ( le n et le 1) on a une relation 1,n. Sur ton côté 1 (location) tu ajoutes une FOREIGN KEY qui sera id_membre.
Pour ta requete:
$rek = "SELECT * FROM LOCATION, MEMBRE WHERE id_location = id_membre
tu auras ton nom_membre pour chaque location.
En espérant t'avoir aidé :)
A bientot.
Pour t'aider, tout d'abord dans les bases de données, jète un oeil sur google sur MEA (Modèle Entité Association) qui t'aidera à concevoir un "schéma" (ton MEA) avec tes tables.
Pour toi nous avons ici un membre qui pourra avoir plusieurs locations et une location qui ne pourra exister pour un seul membre.
Soit: Membre (1,n) -> Location (1,1)
Tu gardes les deux extrémité ( le n et le 1) on a une relation 1,n. Sur ton côté 1 (location) tu ajoutes une FOREIGN KEY qui sera id_membre.
Pour ta requete:
$rek = "SELECT * FROM LOCATION, MEMBRE WHERE id_location = id_membre
tu auras ton nom_membre pour chaque location.
En espérant t'avoir aidé :)
A bientot.
Merci pour cette réponse! Donc j'ai test en écrivant ça :
Sauf qu'il ne m'affiche rien ... alors qu'il y bien quelque chose dans la table.
$rek = "SELECT * FROM locations, membres WHERE id_location = id_membre" ; $loc_membre = mysql_query($rek); $sql = mysql_fetch_array($loc_membres); echo $sql;
Sauf qu'il ne m'affiche rien ... alors qu'il y bien quelque chose dans la table.
jme suis loupé dsl
$rek = "SELECT * FROM locations, membres WHERE location.id_membre = membre.id_membre" ;
INverse la fin si ca marche pas :) mais attention, tu dois avoir un champs id_membre dans ta table location.
Si tu veux un conseil, regardes ce que je t'ai filé en infos avant de te lancer dans la bdd, sinon, ca va etre rapidement le bordel si tu n'as pas de méthode:
1. le papier
2. le pc
A bientot.
$rek = "SELECT * FROM locations, membres WHERE location.id_membre = membre.id_membre" ;
INverse la fin si ca marche pas :) mais attention, tu dois avoir un champs id_membre dans ta table location.
Si tu veux un conseil, regardes ce que je t'ai filé en infos avant de te lancer dans la bdd, sinon, ca va etre rapidement le bordel si tu n'as pas de méthode:
1. le papier
2. le pc
A bientot.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question