Bonjour à tous,
j'ai créé trois tables:
id_pays
population
id_region
id_region
population
id_ville
id_ville
population
alors ma question: comment interconnecter les tables entre eux ?
merci
Bonjour à tous,
j'ai créé trois tables:
id_pays
population
id_region
id_region
population
id_ville
id_ville
population
alors ma question: comment interconnecter les tables entre eux ?
merci
Bonjour
Vous êtes dans un cas où il faut utiliser les jointures (cf. LE SQL de A à Z : 3e partie - les jointures à lire absolument !!!!).
Par exemple, pour afficher les régions et les pays :
(En espérant ne pas m'être trompé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select table_pays.id_pays, table_region.id_region from table_pays.id_pays inner join table_pays.id_region = table_region.id_region
Pierre
Pierre mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon cas
Bonjour
Mais aussiPierre mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon casJe ne comprends pas.id_pays
population
id_region
id_region
population
id_ville
A quoi correspond "id_region" de la table Pays?
Dit autrement, comment voulez vous "interconnecter" les tables entres elles, si aucune ne fait de référence à l'autre, si aucune n'a de clé étrangère?
Avec vous jeter un oeil sur le tutoriel indiqué?
Pierre
Id_region dans la table pays fais référence à la table région en récupérant son id
Ainsi chaque pays sera identifier par un id_pays et possèdera un id_region, lid région va alors pointe vers un unique tableau région qui contient diverses informations
Bonjour
Désolé, je ne comprends toujours pas votre réponse.mes id n'ont pas la meme valeur donc l'expression " join table_pays.id_region = table_region.id_region" ne marchera pas dans mon cas
A priori, au vu de votre réponse précédentevos tables ont l'air d'être prévues pour une mise en relation.Id_region dans la table pays fais référence à la table région en récupérant son id
Ainsi chaque pays sera identifier par un id_pays et possèdera un id_region, lid région va alors pointe vers un unique tableau région qui contient diverses informations
L'idée est donc de prendre un pays, d'aller chercher dans la table région les informations des régions de ce pays, en liant les deux tables par l'id région (qu'on trouve et dans la table Pays, et dans la table région).
Pourriez vous nus mettre un exemple concret de vos tables pays et région?
Merci
Pierre
voici un exemple concret:
J'ai 3 tables :
groupe
id_groupe
nom
id_ville
personne
id_personne
nom
id_groupe
ville
id_ville
cp
nom
le code correspondant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE `ville` ( `id_ville` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT, `cp` smallint(5) NOT NULL, `nom` varchar(255) NOT NULL, PRIMARY KEY (`id_ville`), UNIQUE KEY (`nom`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE `groupe` ( `id_groupe` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT, `nom` varchar(100) NOT NULL, `adresse` varchar(255) NOT NULL, `id_ville` smallint(5) UNSIGNED NOT NULL, PRIMARY KEY (`id_groupe`), UNIQUE KEY (`nom`), FOREIGN KEY (`id_ville`) REFERENCES `ville` (`id_ville`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8;(exemple extrait de )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE `personne` ( `id_personne` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT, `nom` varchar(255) NOT NULL, `prenom` varchar(255) NOT NULL, `id_groupe` smallint(5) UNSIGNED NOT NULL, PRIMARY KEY (`id_personne`), KEY (`nom`), FOREIGN KEY (`id_groupe`) REFERENCES `groupe` (`id_groupe`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Mon probleme est similaire a celui ci, le code marche tres bien mais comment le faire avec php my admin sans utiliser une requete sql ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager