Bonjour à tous,
J'ai pouillé un moment le web et google concernant mon problème, mais rien de concrète jusqu'ici. Alors je me tourne vers vous dans l'espoir d'y voir le bout.
Je vous explique déjà ce que je souhaite réaliser:
J'ai deux tables. L'une concernant les titres des spécifications d'un produit (taille, poids, etc) et l'autre les spécifications même du produit (30cm, 2kg, etc).
j'ai donc la possibilité d'ajouter/supprimer des titres de spécifications en tout temps.
Ce que je souhaite avoir maintenant c'est un tableau avec comme 1ère colonne, TOUS les titres, et en 2ème colonne, l'attribut du produit choisi.
Ce que j'arrive aisément faire avec cette requête mysql:
Mon problème c'est que si j'ajoute le WHERE id_articles = 1 mon tableau se réduit aux seules enregistrement avec id_articles à 1 et ne m'affiche plus TOUS les titres de la colonne1.
En gros le résultat souhaité et celui-ci:
C'est à dire qu'il m'affiche tous les titres même s'il manque des donnée correspondantes.
J'espère m'avoir expliqué correctement. Merci à vous
Modifié par Sp4tz (10 Jan 2011 - 10:25)
J'ai pouillé un moment le web et google concernant mon problème, mais rien de concrète jusqu'ici. Alors je me tourne vers vous dans l'espoir d'y voir le bout.
Je vous explique déjà ce que je souhaite réaliser:
J'ai deux tables. L'une concernant les titres des spécifications d'un produit (taille, poids, etc) et l'autre les spécifications même du produit (30cm, 2kg, etc).
--
-- Structure de la table `specs_titre`
--
CREATE TABLE IF NOT EXISTS `specs_titre` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`desc_fr` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=111 ;
--
-- Structure de la table `specs_donnee`
--
CREATE TABLE IF NOT EXISTS `specs_donnee` (
`id_specs_donnee` int(11) NOT NULL AUTO_INCREMENT,
`id_specs_titre` int(11) NOT NULL,
`id_articles` int(11) NOT NULL,
`text_fr` text NOT NULL,
PRIMARY KEY (`id_specs_donnee`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=75 ;
j'ai donc la possibilité d'ajouter/supprimer des titres de spécifications en tout temps.
Ce que je souhaite avoir maintenant c'est un tableau avec comme 1ère colonne, TOUS les titres, et en 2ème colonne, l'attribut du produit choisi.
<table>
<tr>
<td>Poids</td><td>2kg</td>
</tr>
<tr>
<td>taille</td><td>30cm</td>
</tr>
<tr>
<td>etc</td><td>etc</td>
</tr></table>
Ce que j'arrive aisément faire avec cette requête mysql:
SELECT * FROM specs_titre LEFT JOIN specs_donnees ON specs_titre.id = specs_donnees.id_specs_titre
Mon problème c'est que si j'ajoute le WHERE id_articles = 1 mon tableau se réduit aux seules enregistrement avec id_articles à 1 et ne m'affiche plus TOUS les titres de la colonne1.
En gros le résultat souhaité et celui-ci:
<table>
<tr>
<td>Poids</td><td>2kg</td>
</tr>
<tr>
<td>taille</td><td>30cm</td>
</tr>
<tr>
<td>hauteur</td><td>NULL</td>
</tr>
<tr>
<td>couleur</td><td>NULL</td>
</tr>
<tr>
<td>etc</td><td>etc</td>
</tr></table>
C'est à dire qu'il m'affiche tous les titres même s'il manque des donnée correspondantes.
J'espère m'avoir expliqué correctement. Merci à vous
Modifié par Sp4tz (10 Jan 2011 - 10:25)