-
Recherche dans un champ
Bonjour,
Je souhaite effectuer une recherche dans un champ enregistré dans ma base.
Ce champ contient les informations d'un formulaire multi choix.
chaque chois est assigné un chiffre (1,2,etc.).
je les ai enregistré de cette maniére :
1,3,5,7,12
1,2,6,15
25,23
etc...
Le problème est quand j'effectue une recherche par exemple pour savoir si je trouve par exemple 5, le resultat me donne bien les personnes ayant le chiffre 5 mais aussi le 15, 25 etc.
est possible d'effectué une recherche comme cela ou je dois enregsitrer dans chaque champ les différent choix.
Merci de votre aide
-
C'est bien un problème de conception : ces données devraient être dans une table à part (relation X,N / X,N).
À titre de solution provisoire, on peut détourner la fonction MySQL FIND_IN_SET si vos données sont bien des entiers séparés par des virgules.
-
Je ferais mieux de mettre 1 choix -> 1 champ. pour trier apré c'est peut être plus simple.
car sinon je dois :
Ressortir de ma base des annonce ayant 2 critéres.
donc pendant la recherche, je dois vérifier si le membre est dans la base du premier critère, si oui je vérifie si il est présent dans la deuxième (en sachant qu'il peut être dans le deuxième est non dans le premier), si il est présent je revérifie qu'il soit bien dans le premier critére ensuite j'affiche les donnée qui vient d'une troisiéme base.
Complexe non ? ou une autre solution ?
-
bonjour,
utilisez les regex;
dans votre configuration, après avoir viré tous les espaces, il faut juste vérifier si votre critère est précédé par rien ou par une virgule et est suivi par rien ou par une virgule.
-
Avez vous un exemple du code et des infos enregistré dans la base ?