Bonjour,
Voila j'aimerai savoir s'il est possible d'étendre un résultat de mysql sur la largeur.
Le but est de pouvoir ajouter dynamiquement des attributs sur un produit sans modifier la structure de la base de données.
Je m'explique j'ai un table produit , attribut et attributProduit:
produit :
idProduit
nom
attribut :
idAttribut
nom
type
attributProduit :
idProduit
idAttribut
valeur
En gros j'aimerai qu'avec une requête mysql étendre le nombre de colonne d'un produit.
résultats :
idProduit , nom , description , data , lienYoutube
Les solutions que j'ai trouvé sont de traiter le résultat en php pour l'unifier
J’exécute la requête :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * , p.nom as nomProduit FROM produit p LEFT OUTER JOIN categorie c ON c.idCategorie = p.idCategorie LEFT OUTER JOIN attributProduit ap ON ap.idProduit = p.idProduit LEFT OUTER JOIN attribut a ON a.idAttribut = ap.idAttribut WHERE c.idCategorie = '$idCategorie' AND p.etat = '0'
Puis je lance une fonction php qui m'unifie tout ces résultats :
Ce qui va avoir pour effet de me créer une liste d'objets produits avec une propriété attribut regroupant sous forme de tableau tout les attributs de ce produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $produit->unifier("idProduit , nomProduit , attribut[idAttribut , idProduit , nom , type , valeur]");
Voila le problème est que cette solution est un peu lourde.
Voila j'attends avec impatiente vos retours , merci d'avance pour votre aide précieuse.
Partager