plusieurs chaines dans un champ

r1z
Invité n'ayant pas de compte PHPfrance

30 mai 2005, 16:47

Bonjour,

j'ai une table avec id, catégories, etc ...

dans mon champ catégories, je peux avoir plusieurs chaines séparées par une ", "

exemple pour l'id 5 :

chiens, chats, tigres

Ce que je veux faire c'est un SELECT avec uniquement la catégorie chats.

Mais si je fais

SELECT * FROM $table WHERE categories=chats

ça ne marche pas.

comment je peux faire svp ?

Merci :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 mai 2005, 16:52

Tu veut dire que dans une colonne, tu as des valeurs différentes ou bien que une ligne de une colonne peut être composée ?

J'ai pas tout a fait compris ce que tu demande ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

30 mai 2005, 17:49

$sql ="SELECT * FROM ". $table ." WHERE categories LIKE '%chats%'";
Tu peux aussi explorer du coté de REGEXP
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 2144 Messages

30 mai 2005, 18:01

ce serait plus simple en améliorant la structure de la base de donnée avec une table catégorie, permettant d'éviter d'avoir plusieurs informations dans un même champ. Cela simplifierait beaucoup le genre de requêtte que tu dois effectuer...