Liste de mot dans un champ mysql
laquiche
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
laquiche Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
laquiche Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaiterez faire un systeme de tags dans une galerie php que je developpe actuellement.
mon probleme est que je ne sais pas comment je pourrez stockés ces tags le plus simplement et le plus optimiser aussi.
existe-il un type de champ mysql qui permet de stockez plusieurs mots séparement ??
ou sinon quelles solutions vous semblerez la plus pratique et la optimiser a mettre en place ?
merci d'avance, si vous avez besoin d'autres explications n'esitez pas
laquiche
je souhaiterez faire un systeme de tags dans une galerie php que je developpe actuellement.
mon probleme est que je ne sais pas comment je pourrez stockés ces tags le plus simplement et le plus optimiser aussi.
existe-il un type de champ mysql qui permet de stockez plusieurs mots séparement ??
ou sinon quelles solutions vous semblerez la plus pratique et la optimiser a mettre en place ?
merci d'avance, si vous avez besoin d'autres explications n'esitez pas
laquiche
A voir également:
- Liste de mot dans un champ mysql
- Liste déroulante excel - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
4 réponses
Moi je ferai çà à première vue :
GALLERY (ID_GALLERY Primary auto_increment, LABEL)
GALLERY_TO_TAG Table de liaison (ID_GALLERY, ID_TAG)
TAG (ID_TAG Primary auto_increment, LABEL)
Apres vive le left join
tu peux aussi utiliser in(occurence1, occurence2) dans ta requete de selection pour piquer sur plusieurs occurence.
hf !
GALLERY (ID_GALLERY Primary auto_increment, LABEL)
GALLERY_TO_TAG Table de liaison (ID_GALLERY, ID_TAG)
TAG (ID_TAG Primary auto_increment, LABEL)
Apres vive le left join
tu peux aussi utiliser in(occurence1, occurence2) dans ta requete de selection pour piquer sur plusieurs occurence.
hf !
Salut, merci d'avoir repondu.
En fait j'ai pas tout comprit dasn ta methode, tu crée une table avec les gallery, chacune ayant un id unique, ensuite tu crée une table de tags avec chaque tags ayant un id unique et enfin une table qui lit les id des gallery aux id des tags c'est ca ???
et sinon aurait tu plus d'infos sur le in(occurance1, occurance2)
voila en gros j'ai pas tout suivi a ta reponse :D, puis-je avoir plus d'explications stp
merci
En fait j'ai pas tout comprit dasn ta methode, tu crée une table avec les gallery, chacune ayant un id unique, ensuite tu crée une table de tags avec chaque tags ayant un id unique et enfin une table qui lit les id des gallery aux id des tags c'est ca ???
et sinon aurait tu plus d'infos sur le in(occurance1, occurance2)
voila en gros j'ai pas tout suivi a ta reponse :D, puis-je avoir plus d'explications stp
merci
sachant que tes tags sont unique, ainsi que tes galleries.
sachant qu'une gallerie peut possèder plusieurs tags :
cette table de jointure GALLERY_TO_TAG te permet simplement de faire le(s) rapprochements entre une gallerie est un ou plusieurs tags
Une fois cette requete mise en place avec left join (mysql.com), et pour faire une séléction de galleries selon plusieurs tags tu peux utiliser le mot in (mysql.com) dans la clause where de ta requete
Travail maché :
select G.ID_GALLERY, G.LIBELLE, T.ID_TAG, T.LIBELLE
from GALLERY as G
left join GALLERY_TO_TAG as GTT on (GTT.ID_GALLERY=G.ID_GALLERY)
left join TAG as T on (T.ID_TAG=GTT.ID_TAG)
where T.LIBELLE in('tag1', 'tag2', ..., 'tagN');
http://dev.mysql.com/doc/refman/5.0/fr/join.html
sachant qu'une gallerie peut possèder plusieurs tags :
cette table de jointure GALLERY_TO_TAG te permet simplement de faire le(s) rapprochements entre une gallerie est un ou plusieurs tags
Une fois cette requete mise en place avec left join (mysql.com), et pour faire une séléction de galleries selon plusieurs tags tu peux utiliser le mot in (mysql.com) dans la clause where de ta requete
Travail maché :
select G.ID_GALLERY, G.LIBELLE, T.ID_TAG, T.LIBELLE
from GALLERY as G
left join GALLERY_TO_TAG as GTT on (GTT.ID_GALLERY=G.ID_GALLERY)
left join TAG as T on (T.ID_TAG=GTT.ID_TAG)
where T.LIBELLE in('tag1', 'tag2', ..., 'tagN');
http://dev.mysql.com/doc/refman/5.0/fr/join.html