Liste de mot dans un champ mysql

Fermé
laquiche Messages postés 32 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 7 décembre 2009 - 1 sept. 2008 à 13:11
laquiche Messages postés 32 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 7 décembre 2009 - 5 sept. 2008 à 18:17
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
A voir également:

4 réponses

mouf13 Messages postés 142 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 22 février 2011 17
1 sept. 2008 à 15:30
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 !
1
laquiche Messages postés 32 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 7 décembre 2009
2 sept. 2008 à 08:27
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
0
mouf13 Messages postés 142 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 22 février 2011 17
2 sept. 2008 à 12:42
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
0
laquiche Messages postés 32 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 7 décembre 2009
5 sept. 2008 à 18:17
Bon merci pour ce travail maché mais je ne suis pas sur que cette technique soit la plus optimisé , je vais donc y reflechir encore, et essayé differentes technique dont la tienne, et je tien au courant de mes essais.

en tout cas merci et bonne continuation
0