Voici mon soucis.
Je souhaite récupérer les nom des valeurs qui ce trouve dans plusieurs table.
j'ai une table pricipale, que voici
CREATE TABLE IF NOT EXISTS `list` (
`Id` smallint(5) unsigned NOT NULL DEFAULT '0',
`item` smallint(5) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`),
KEY `key_mobId` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
voici les secondaire
CREATE TABLE IF NOT EXISTS `category1` (
`item_id` int(11) NOT NULL DEFAULT '0',
`name` varchar(120) NOT NULL DEFAULT '',
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `category2` (
`item_id` int(11) NOT NULL DEFAULT '0',
`name` varchar(120) NOT NULL DEFAULT '',
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `category3` (
`item_id` int(11) NOT NULL DEFAULT '0',
`name` varchar(120) NOT NULL DEFAULT '',
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Bref, ce n'est pas cela le soucis des tables.Je bloque sur ma la manière me permettant de récupérer le champ `name` de (category1, category2 et category3) sachant que
le champ `item_id ` des tables secondaires (category1, category2 et category3) est egal à `item` de la principale (list)
quand je trouve une id dans la table principale je dois pouvoir récupérer son `name` dans (category1 ou category2 ou category3)
Voici ma requête:
$result = $db->query('
SELECT d.Id, d.item, i.item_id, i.name, a.item_id, a.name
FROM list AS d
Left JOIN category1 AS i ON i.item_id = d.item
Left JOIN category2 AS a ON a.item_id = d.item
WHERE Id=\''.pun_linebreaks(pun_trim($_GET['id'])).'\' ORDER BY item ASC ', true) or error('Unable to fetch list #categoty1, #category2', __FILE__, __LINE__, $db->error
Pourriez vous me dire svp comment faire, j'avoue que ça doit pas être bien compliquer, mais là je bloque,Merci de votre aide (désoler si je me suis mal exprimer)
Cordialement