Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/08/2012, à 12:30

djipey

[sqlite] ajouter des tags à des fichiers, trier par tags

Bonjour.

Je suis en train de coder un projet en python, qui aura pour but de lister toutes les vidéos d'un répertoire, afin de les présenter dans une interface codée avec PyQt. Grâce à cette interface, je vais pouvoir ajouter des tags aux vidéos.

Les infos sur les vidéos sont stockées dans une table sqlite, avec comme champs (pour l'instant):
- id
- name (le nom du fichier)
- path (le chemin absolu du fichier)
- vote (le nombre de like pour le fichier)

La question que je me pose, c'est comment gérer les tags. Le but est de pouvoir ajouter des tags aux vidéos pour ensuite, si je sélectionne un tag, afficher les vidéos correspondantes.

J'aurais besoin de vos avis pour la marche à suivre.

Est-ce que je rajoute un champ (TEXT) tags à ma bdd ? J'ajouterai ensuite les nouveaux tags sous forme de mots, dans le seul champ tags. Puis quand je voudrais afficher les vidéos correspondant à un tag, je ferai une recherche de ce mot dans le champ tags de tous mes fichiers.

Pour l'instant je ne vois que cette solution, mais ça ne me parait pas optimal. Est-ce que vous auriez des idées ?

Bien à vous.

Hors ligne

#2 Le 07/08/2012, à 12:36

Kooothor

Re : [sqlite] ajouter des tags à des fichiers, trier par tags

Salut,

Je connais bien ce problème. Voici comment je m'y prend, c'est peut-être pas idéal mais ça fonctionne bien.

Fais une autre table, TAGS avec :
- id
- vid_id
- tag

Si une vidéo a plusieurs tags, il y aura plusieurs entrées avec le même vid_id (qui correspond au id de ta première table).

C'est ainsi facile de sélectionner les vidéos par tag smile (tu obtiens l'id de la vidéo en fonction du tag recherché).

-----
Sinon avant j'avais mis un champs TAGS dans la base principale où les tags étaient séparés par un espace (ou une virgule) mais c'était pas top...

@+
~ktr

Hors ligne

#3 Le 07/08/2012, à 16:04

djipey

Re : [sqlite] ajouter des tags à des fichiers, trier par tags

Ok.

Est-ce que tu as fait une jointure entre les deux tables ou ce n'est pas la peine ?

Hors ligne

#4 Le 07/08/2012, à 17:11

Kooothor

Re : [sqlite] ajouter des tags à des fichiers, trier par tags

Non (faut dire que mon niveau en SQL est assez bas....).

Ce que je fais, c'est que je fais une requête sur un tag, je récolte les vid_id dans un array, puis je vire celles en double, pis à partir de cet array d'id je show les vids correspondantes smile

Hors ligne

#5 Le 07/08/2012, à 17:42

djipey

Re : [sqlite] ajouter des tags à des fichiers, trier par tags

D'accord, c'est ce que j'aurais fait moi aussi. Mais comme je poste sur au moins deux forums quand je demande l'avis des gens, je te mets un lien d'un topic où FireZéro me donne une réponse plus aboutie, en espérant que ça te serve :

http://www.siteduzero.com/forum-83-7935 … l#r7614291

Hors ligne

#6 Le 07/08/2012, à 17:45

Kooothor

Re : [sqlite] ajouter des tags à des fichiers, trier par tags

djipey a écrit :

D'accord, c'est ce que j'aurais fait moi aussi. Mais comme je poste sur au moins deux forums quand je demande l'avis des gens, je te mets un lien d'un topic où FireZéro me donne une réponse plus aboutie, en espérant que ça te serve :

http://www.siteduzero.com/forum-83-7935 … l#r7614291

Intéressant en effet, merci smile

Hors ligne