Signaler

[PHP/MYSQL] Problème de requête avec "LIKE" [Résolu/Fermé]

Posez votre question flagoustou - Dernière réponse le 22 mars 2012 à 14:22 par maka54
Bonjour,
J'ai un petit soucis avec une requête SQL,
J'ai un champ qui comporte comme valeur (3;1;)

Pour trier tout ça, je lance comme requête :
SELECT * FROM 'offre' WHERE idcategorie LIKE '3;'


Mais malheureusement (et c'est le comportement normal du LIKE) il me retourne des valeurs comme "13;" "23;".

Comment puis faire pour que j'ai un retour seulement avec les "3;" ?
(Le soucis étant que mes valeurs de champs ne sont jamais unique =>"3;1;" =>"1;13;14;"...)
Utile
+1
plus moins
donc tu veux que tes valeurs ne s'affichent que "3;" ? si c'est le cas, pourquoi ne pas mettre une égalité?
Cette réponse vous a-t-elle aidé ?  
Utile
+0
plus moins
Salut!
essai ça:
SELECT * FROM 'offre' WHERE idcategorie LIKE '3;%'

Pas trop bien compris,donc dis moi si c'est ce que tu veux!
flagoustou- 22 mars 2012 à 11:41
Merci pour ta réponse rapide !

En faite je veux récupérer les champs qui ont uniquement une valeur de "3;" (par exemple).

Malheureusement avec LIKE '3;%' ou LIKE '%3;%' ou LIKE %3;' ça ne fonctionne pas, car le résultat de SQL me donne comme réponse : "13;" "23;" "3;".

Et j'aimerai récupéré les champs qui ont comme valeur "3;".

(les "LIKE '3;%" ne fonctionnent pas car j'ai certaines valeurs comme "11;3;").
Utile
+0
plus moins
l'égalité ne fonctionne pas car mes champs ne sont jamais égales à "3;" uniquement, il y a d'autre valeur avec comme "11;3;" au sein du même champs par exemple.

D'où l'utilisation du "LIKE "et non de "=".
Utile
+0
plus moins
Pour le coup, je ne sais pas si c'est possible, car il faudrait s'assurer que le caractère avant le 3 soit vide, ou égal à ";"


Une solution "bidouille" serait de rajouter un ";" devant chaque ligne, et du coup, de rechercher sur la valeur ";3;" ensuite.

Utile
+0
plus moins
Excellent ! je n'y avais pas pensé!
Merci pour ta réponse.

Je vais faire mes modifications en début d'après midi et je te tiens au courant !
Utile
+0
plus moins
Merci beaucoup !
Voilà problème résolu !
Utile
+0
plus moins
Il y a un problème de conception

une offre pouvant avoir plusieurs catégorie (à moins que je me trompe)

tu devrais avoir une table supplémentaire qui fasse le lien entre offre et catégorie

offre
------
id_offre
contenu_offre


categorie
----------
id_categorie
libelle_categorie


offre_categorie
--------------
id_offre
id_categorie

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !