Sélectionner et classer des champs à partir d'une liste... - SQL/NoSQL - Programmation
Marsh Posté le 11-02-2003 à 16:39:47
salut à toi
problème de modélisation :
un produit possède plusieurs images
une image est rattachée à un produit
Admettons que l'image est identifiée par id_img, et produit par id_p
la table image doit posséder une colonne id_p, clé étrangère de la table produit
A partir de là, plus besoin de bricolouiller ( ) des listes et d'extraire des tirets
Marsh Posté le 09-02-2003 à 23:42:14
J'ai deux tables: "Produit" et "ImagesProduit".
Dans "Produit", j'ai le champ "Images" (entre autres...)
Celui-ci contient une liste de cette forme: (exemple "1-3-7-9"
Dans cette liste, il peut y avoir rien, ou 1 ou plusieurs nombres tous séparés par un tiret "-", il n'y a pas de tiret au début et à la fin de cette liste.
Chaque nombre est en fait l'identifiant d'images associées au produit.
Et chaque image est associée à une référence couleur.
En effet, un produit est proposé sous plusieurs couleurs...
Dans "ImagesProduit", j'ai les champs:
IdImage (identifie par un numéro l'image)
NomImage
RefCouleur (référence de la couleur associée à l'image, c'est un nombre; celle-ci est normalment associée à une autre table, mais je simplifie un peu ici!)
Ce que je cherche à faire, c'est de lire les éléments de la liste et de faire apparaitre l'image qui est associé ainsi que sa référence couleur.
Mon problème est que les images doivent également être ordonnée selon leur référence couleur
Dans le cas où je ne me soucie pas des références des couleurs, un simple "for" qui parcourt toute la liste et extrait les images est suffisant, mais là je ne sais pas comment les ordonner
J'utilise MySQL avec du PHP.