Bonjour,

Sur mon site, j'ai un système de tags à cocher pour effectuer une recherche de produits sur mon site, présenté comme ceci :

+ Couleur + Taille + Style
*tag *tag *tag
*tag *tag *tag
*tag *tag *tag

(en colonnes / type de tags)

Je veux faire en sorte que le visiteur puisse, par exemple cliquer sur 2 couleurs et 1 style et avoir comme résultats les produits ayant une des deux couleurs ET le style coché. Si le visiteur choisit deux couleurs et deux styles, le résultat doit contenir les produits ayants au moins 1 couleur ET 1 style correspondant.

Après pas mal de recherches, je n'ai trouvé qu'une solution mais très peu valable (30sec / requête, trop long surtout pour une solution AJAX... )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT   p.products_id
FROM products p
WHERE products_id IN
( SELECT ttp.products_id FROM tags_to_products ttp WHERE  tags_id = 581 OR tags_id = 567 ) AND
products_id IN
( SELECT ttp.products_id FROM tags_to_products ttp WHERE  tags_id = 291);
Avez-vous une meilleure solution à m'indiquer ? Merci !