Test sur le type MySQL SET en php
Résolu
Liteulbob
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
Liteulbob Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Liteulbob Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
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 :
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 ...)
(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:
- Test sur le type MySQL SET en php
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Test composant pc - Guide
- Test batterie pc - Guide
2 réponses
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.
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.
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 :
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.
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.