Voilà l'histoire :
2 tables [pour simplifier]
La table rubrique
id_rub - titre_rub
1 - rubrique_a
2 - rubrique_b
etc ...
La table produit ( ancienne formule )
id_bp - id_rubrique - nom
1 - 1 - a
2 - 1 - b
3 - 2 - c
Quand je voulais récupérer en une seule fois les noms des produits et le titre de la rubrique associée, pour une rubrique donnée :
Code : Tout sélectionner
SELECT pr.nom, rub.titre_rub
FROM produit pr
INNER JOIN rubrique rub ON rub.id_rub = pr.id_rubrique
WHERE pr.id_rubrique='".$id_search."'Le problème, c'est qu'aujourd'hui un produit peut être affecté à plusieurs rubriques donc le stockage change :
La table produit ( nouvelle formule )
id_bp - id_rubrique - nom
1 - |1| - a
2 - |1|3| - b
3 - |1|2|7| - c
4 - |2|27|70| - d
Et maintenant je suis dans la daube
J'ai essayé sans succès :
Code : Tout sélectionner
SELECT pr.nom, rub.titre_rub
FROM produit pr
INNER JOIN rubrique rub ON CONCAT('|',rub.id_rub,'|') LIKE pr.id_rubrique
WHERE pr.id_rubrique LIKE '%|".$id_search."|%'
Dans la table produit sera récupéré l'enregistrement ayant |6| comme id_rubrique mais pas celui qui a |1|6|12|
Si quelqu'un a une idée !
Merci d'avance.
Didier