Bonjour,
Je me retrouve face à une petit problème de traitement de chaîne de caractère face auquel je sèche ...
Dans ma base de données, j'ai enregistré des vidéos, des textes et des enregistrements.
À chaque médium enregistré et associé un nombre indéfini de catégories.
Les catégories sont renseignées dans le champs "categ" via leur id, sous ce format : "1, 25, 154, 489".
Mon problème est le suivant : comment puis-je sélectionner tous les media ayant pour identifiant de catégorie le n°1 (par exemple).
En effet, si je fais un "SELECT * FROM Media WHERE categ LIKE '%1,%'" , seront aussi incluses toutes les catégories finissant par '1,".
Et si je fait "SELECT * FROM Media WHERE categ LIKE '% 1,%'" (ajout d'un espace devant le 1), la catégorie de début de liste sera ignorée car l'espace est absent.
Il y a (j'en suis sûr) une solution (très simple), mais elle ne m'a pas encore sauté aux yeux, c'est pourquoi je fais appel à votre bon sens
Merci d'avance !
Modifié par testu (26 Aug 2009 - 14:03)
Je me retrouve face à une petit problème de traitement de chaîne de caractère face auquel je sèche ...
Dans ma base de données, j'ai enregistré des vidéos, des textes et des enregistrements.
À chaque médium enregistré et associé un nombre indéfini de catégories.
Les catégories sont renseignées dans le champs "categ" via leur id, sous ce format : "1, 25, 154, 489".
Mon problème est le suivant : comment puis-je sélectionner tous les media ayant pour identifiant de catégorie le n°1 (par exemple).
En effet, si je fais un "SELECT * FROM Media WHERE categ LIKE '%1,%'" , seront aussi incluses toutes les catégories finissant par '1,".
Et si je fait "SELECT * FROM Media WHERE categ LIKE '% 1,%'" (ajout d'un espace devant le 1), la catégorie de début de liste sera ignorée car l'espace est absent.
Il y a (j'en suis sûr) une solution (très simple), mais elle ne m'a pas encore sauté aux yeux, c'est pourquoi je fais appel à votre bon sens

Merci d'avance !
Modifié par testu (26 Aug 2009 - 14:03)