Requête de recherche par tag
Bonsoir à tous:
Je vous présente mon sujet:
Je souhaite enregistrer des vidéo en leurs donnant 1 ou plusieurs tags.
J'ai créer un table video qui contiens les infos des vidéo .
exemple :
Code:
1 2 3
| id | nom
1 | supervidéo
2 | badvidéo |
J'ai lier une table tags qui contient les mots clef et l'id de la vidéo:
exemple
Code:
1 2 3 4 5
| id | video_id | tag
1 | 1 | super
2 | 1 | vidéo
3 | 2 | bad
4 | 2 | vidéo |
Pour l'instant rien de bien compliqué.
Je récupère les tags des vidéos et le nombre de vidéo associès avec cette requête :
Code:
1 2 3 4 5
| SELECT COUNT( tag.nom ) AS nb_tag, tag.nom
FROM tags tag
LEFT JOIN video vid ON tag.video_id = vid.id
GROUP BY tag.nom
ORDER BY nb_tag DESC |
J'obtiens :
Code:
1 2 3 4
| nb_tag | nom
2 | vidéo
1 | super
1 | bad |
Pour l'instant aucun soucis.
Ce que je souhaite faire maintenant c'est associé les tags ensembles c'est à dire:
Je voudrais ajouter une contrainte à la requête pour quelle affiche les tags des vidéo dont on connait déjà un tag:
Je souhaite obtenir (pour le tag vidéo) :
Code:
1 2 3
| nb_tag | nom
1 | super
1 | bad |
Je souhaite obtenir (pour le tag bad) :
Je souhaite obtenir (pour le tag super) :
Voili, voilà, si j'ai été assé clair et que quelqu'un à une idée je suis preneur.
Edit : je viens de trouver un lien qui correspond exactement au système de recherche que je souhaite mettre en place (lorsque l'on clique sur le bouton "+" à coté des tags pour les associès) http://www.tagbox.fr/