Mammouth du PHP |
672 Messages
30 avr. 2010, 16:40
C'est normal :
D'un point de vue SQL, la virgule n'est rien qu'un caractère comme les autres... Du coup un LIKE va chercher la chaine de caractère. Qu'elle soit entourée par des virgules ou pas, ça ne fait aucune différence.
Deux solutions :
1. Le plus probable : tes données séparées par des virgules correspondent à des données distinctes => rajouter autant de champs qu'il y a de données.
2. Sinon, il va falloir ruser.
- Tu as la main sur la façon de remplir ta table : au lieu de "1,25,16,45,31" tu y mets ",1,25,16,45,31,".
Il suffit ensuite de chercher ,1,
- Tu n'as pas la main : il faut monter une requête qui prendra en compte les trois cas :
1 est au début (LIKE '1,%')
1 est à la fin (LIKE '%,1')
1 est au milieu (LIKE '%,1,%')