Phpmyadmin et liaison

Phpmyadmin et liaison - SQL/NoSQL - Programmation

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

Reply

Marsh Posté le 17-08-2006 à 11:18:36   

Reply

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" ...

Reply

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  
 
 

Reply

Marsh Posté le 17-08-2006 à 11:43:57    

par exemple...

Reply

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 :)

Reply

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

Reply

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');


Message édité par teriacle le 17-08-2006 à 14:58:33
Reply

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
 
 

Reply

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 :(

Reply

Marsh Posté le 17-08-2006 à 15:20:08    

Citation :

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, ID_Langue... )  => les  ... c'est si tu veux d'autres parametres
 

Reply

Marsh Posté le 17-08-2006 à 15:20:08   

Reply

Marsh Posté le 17-08-2006 à 15:46:53    

ok je vais essayer comme ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed