Phpmyadmin et liaison - SQL/NoSQL - Programmation
Marsh Posté le 17-08-2006 à 11:31:35
qu'est ce que tu entends pas "lier" ?
Parce que là visiblement tu n'as pas de clés etrangères dans aucune des tables donc il va falloir ou les modifier ou ajouter une 3eme table de "jointure" ...
Marsh Posté le 17-08-2006 à 11:39:04
Je viens de creer une 3 eme table liaison :
Avec
Champ Type Null Défaut
liaison_affiche int(11) Non 0
liaison_theme int(11) Non 0
Nom de la clé Type Cardinalité Champ
liaison_affiche INDEX aucune liaison_affiche
liaison_theme INDEX aucune liaison_theme
Marsh Posté le 17-08-2006 à 11:47:12
ok et donc aprés si je change un nom de theme ca ne se modifie pas ds le theme de l'affiche est-ce normal ?! sans doute ... jedois zapper un truc
Marsh Posté le 17-08-2006 à 11:55:54
La ce que tu as fais c'est simplement dire qu'une affiche est liée à un thème, c'est à dire que si tu fais une recherche du style toutes les affiches du theme "TON_THEME" tu pourras les trouver
Dans la mesure ou la référence ( et pas le nom du theme ) si tu change ce nom , l'identifiant ne change pas donc pour les affiches c'est transparent
Marsh Posté le 17-08-2006 à 14:52:49
alors j'ai refait mes structures de base ... grace à un logiciel de base de données ... mais j'ai tjs un beug ... en fait je ne sais pas comment remplir la clé index :
--
-- Structure de la table `affiches`
--
CREATE TABLE `affiches` (
`idaffiche` int(10) NOT NULL auto_increment,
`themeaffiche` varchar(60) NOT NULL default '',
`titreaffiche` varchar(100) NOT NULL default '',
`refaffiche` varchar(10) NOT NULL default '',
`prixtop` char(3) NOT NULL default '',
`urlaffichemin` varchar(150) NOT NULL default '',
`urlaffichemax` varchar(150) NOT NULL default '',
`langueaffiche` varchar(30) NOT NULL default '',
PRIMARY KEY (`idaffiche`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `affiches`
--
INSERT INTO `affiches` VALUES (1, 'circulation', 'Portable en voiture', '0151A', 'oui', ../min/0151A.jpg', '../0151A.jpg', 'Francais');
-- --------------------------------------------------------
--
-- Structure de la table `langues`
--
CREATE TABLE `langues` (
`idlangue` int(10) NOT NULL auto_increment,
`affiches_idaffiche` varchar(70) NOT NULL default '',
`nomlangue` varchar(50) NOT NULL default '',
PRIMARY KEY (`idlangue`,`affiches_idaffiche`),
KEY `cle_ind_langues` (`affiches_idaffiche`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Contenu de la table `langues`
--
INSERT INTO `langues` VALUES (1, 'Francais', 'Francais');
INSERT INTO `langues` VALUES (2, 'Anglais', 'Anglais');
-- --------------------------------------------------------
--
-- Structure de la table `themes`
--
CREATE TABLE `themes` (
`idtheme` int(10) NOT NULL auto_increment,
`affiches_idaffiche` int(10) NOT NULL default '0',
`nomtheme` varchar(70) NOT NULL default '',
PRIMARY KEY (`idtheme`,`affiches_idaffiche`),
KEY `cle_ind_themes` (`affiches_idaffiche`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;
--
-- Contenu de la table `themes`
--
INSERT INTO `themes` VALUES (5, 0, 'manutention');
INSERT INTO `themes` VALUES (4, 0, 'chariot');
INSERT INTO `themes` VALUES (3, 0, 'ceinture');
INSERT INTO `themes` VALUES (2, 0, 'stationnement');
INSERT INTO `themes` VALUES (1, 0, 'circulation');
Marsh Posté le 17-08-2006 à 15:01:01
Je vois pas trop ou est le probleme,
En revanche moi j'aurais plutot fait un truc dans ce gout la :
Table Affiche (Id_Affiche, ....)
Table Theme(Id_Theme, ....)
Table Langue (...)
Table Gestion_Theme(ID_Affiche, ID_Theme, ... ) => les ... c'est si tu veux d'autres parametres
Marsh Posté le 17-08-2006 à 15:10:50
le problème c'est qd je change le nom de al langue par exemple celà ne se change pas dans l'affiche
Marsh Posté le 17-08-2006 à 15:20:08
Citation : Je vois pas trop ou est le probleme, |
Marsh Posté le 17-08-2006 à 11:18:36
Bonjour,
Je cherche à lier deux bases
la première "affiches" contient les champs
id_affiche
theme_affiche
titre_affiche
la seconde "affiches_themes" tous les thèmes d'affiches
id_theme
nom_theme
Je ne sais pas comment faire sur phpmyadmin... merci de votre aide.
Claire