Test sur le type MySQL SET en php

Résolu/Fermé
Liteulbob Messages postés 37 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 7 août 2008 - 2 avril 2008 à 18:07
Liteulbob Messages postés 37 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 7 août 2008 - 5 avril 2008 à 07:39
Bonjour,


(désolé, encore moi, pour une question encore plus bateau, mais dont je ne trouve pas la réponse dans la doc officielle).

J'aimerais juste savoir comment tester une valeur d'un champ SET :


champ 'type' set('type1','type2')

if ($requete['type'] == 'type1') then do ...

(le sens que j'aimerais avoir est : "si le champ type a (entre autres) pour valeur type1, alors fais ça"


Selon la doc, la seule solution que je vois est de refaire une requete MySQL :

mysql> SELECT * FROM nom_de_table WHERE set_col LIKE '%value%';


Mais j'aimerais faire ce test non pas en SQL mais en php : pour réutiliser et tester quand je veux ma variable $type = $requete['type'].


Merci d'avance pour me dire si c'est possible, et si c'est le cas, comment faire ! (j'ai teste avec des %% ou un preg_match, mais je ne trouve pas ...)
A voir également:

2 réponses

s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
5 avril 2008 à 01:10
Salut,

J'ai pas compris. Tu veux savoir quel est le type d'un champ de ta base de donnée ? Au delà du fait que t'es sensé le savoir (bas oui parce que c'est qui la créé), à quoi a peu bien servir ?

Et je ne vois pas comment PHP pourrait recueillir une tel info. Pour communiquer avec une base de donner il faut lui parler avec un langage qu'elle comprend.
0
Liteulbob Messages postés 37 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 7 août 2008 2
5 avril 2008 à 07:39
Pfou ... nan mais je suis vraiment bête, je suis finalement passé par un autre type, en utilisant strpos pour tester sa valeur, alors que la réponse à ma question était justement strpos !!

Alors pour réexpliquer :

nonon, je ne veux pas savoir ce qu'il est ! (je le sais bien effectivement).

Je veux juste connaitre sa valeur.

J'ai un champ set qui peut prendre plusieurs valeurs : valeur1, valeur2, valeur3 etc.
Et j'aimerais simplement connaitre sa valeur ! (ça parait vraiment bateau oui !)
Bon voilà le code le plus simple alors :

$query = mysql_query ('SELECT settype  FROM colonne WHERE id_doc='.$id.' ') or die (mysql_error());
$value= mysql_fetch_array($query, MYSQL_ASSOC);

if ( strpos($settype,'valeur2')===false) {
		echo 'Vous n\'avez pas accès';
		exit();
}
else echo 'Bienvenue';



Je précise qu'il faut bien garder les trois "=", car strpos rendant la position de la première occurence, si ce nombre vaut 0 il équivaudra à false !

Voilà, merci quand meme ;-)
Bonne journée et merci quand meme pour avoir répondu que vous n'aviez pas compris ma question.
0