Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

Re: Requete sql groupe de travail

Solidairnet Chôm'Actif

20/04/2017 00:05:33

Merci beaucoup ça marche nickel, moi qui était en train de me prendre
la tete avec  decbin et stxt sous excel, là ça l'fait direct :-)

Par contre je n'ai lu ton mail que via les archives de la liste...

Encore merci :-)

Thierry

==========================
Hello,

les champs à choix multiple sont stockés sous forme binaire. Un peu de
théorie sur le fonctionnement des opérations binaires te serait utile si
tu veux faire des trucs complexes.

Si tu veux juste sélectionner par option en SQL, il te faut déjà la
liste des options possibles avec leur numéro (ça commence à 0). Tu peux
obtenir cela en faisant : SELECT valeur FROM config WHERE cle =
"champs_membres";

=================

Ça sera sous cette forme là :

[groupe_travail]
title = "Groupes de travail"
help = "Coucou"
editable = true
options[] = "Télécoms"
options[] = "Trésorerie"
options[] = "Relations publiques"
options[] = "Communication presse"
options[] = "Organisation d'événements"
options[] = "Présidents du monde"

Si tu veux les membres qui ont coché "Relations publiques" dans leur
fiche, c'est la troisième option, mais on commence à compter à zéro
(Télécoms = 0, Trésorerie = 1, etc.), c'est donc l'option numéro 2 :

SELECT * FROM membres WHERE groupe_travail & (1 << 2);

Remplacer "2" par le numéro de l'option s'il est différent. Ne pas
toucher au "1" dans la requête.

Cordialement.


Le 17 avril 2017 à 22:51, Solidairnet Chôm'Actif <solidairnet@gmail.com> a
écrit :

> Merci pour l'explication :-)
> mais du coup pour moi ça peut être  (pour 4 cases cochables) si j'ai
bien
> compris  4,5,6,7,12,13,14,15 mais comme j'en ai 12 cochables....je ne
suis
> pas rendu :-)
> Il y a une methode pour trouver les bonnes valeurs sans faire le tableau
> de jenesaispascombien de lignes?
> merci encore :-)
> Thierry
> 4 100 la troisième v
> 5 101
> 6 110
> 7 111
> 8 1000
> 9 1001
> 10 1010
> 11 1011
> 12 1100
> 13 1101
> 14 1110
> 15 1111
>
>
>
> Le 17 avril 2017 à 18:12, didier flourac <didier.flourac@gmail.com> a
> écrit :
>
>> Bonjour,
>> Si j'ai bien compris la logique.
>> Il n'y a qu'une zone numérique dans la base de donnée.
>> Cette zone est exprimée en binaire pour l'affichage.
>> Le tableau suivant vous permettra de comprendre la logique .
>> *bdd* *binaire* *valeurs*
>> 0 0 rien n'est selectionné
>> 1 1  la premiere valeur est selectionnée ( Télécoms)
>> 2 10 la deuxieme valeur est selectionnée (Trésorerie)
>> 3 11 la première et la 2eme valeurs sont selectionnées (Télécoms et
>> Trésorerie)
>> 4 100 la troisième valeur est selectionnée (relations publiques)
>>
>> ​Par conséquent si vous voulez n'afficher que les membres pour lesquel
la
>> case  "relations publiques"  ​est cochée il faut selectionner
>> groupe_travail=4 .
>> (select * from membres where groupe_travail=4)
>>
>> ​Cordialement Didier Flourac ​
>>
>>
>>
>> 2017-04-17 14:17 GMT+02:00 Solidairnet Chôm'Actif
<solidairnet@gmail.com>
>> :
>>
>>> Bonjour,
>>> j'ai activé le champ "groupe_de_travail" qui correspond à
ce que je
>>> souhaite gérer.
>>> Par contre c'est un champ numerique, et je n'ai  pas   compris
sa
>>> logique et donc encore moins comment faire des requetes, pour par
exemple,
>>> n'afficher que les membres pour lesquel la case "relations
publiques" est
>>> cochée
>>>
>>> merci
>>>
>>> --
>>> *Thierry MATTIO*
>>>
>>> *Conseiller Médiateur Numérique*
>>>
>>
>>
>
>
> --
>

Re: Requete sql groupe de travail

BohwaZ/Garradin

20/04/2017 01:19:19

Le 20/04/2017 10:04, Solidairnet Chôm'Actif a écrit :
> Merci beaucoup ça marche nickel, moi qui était en train de me prendre
> la tete avec  decbin et stxt sous excel, là ça l'fait direct :-)
> 
> Par contre je n'ai lu ton mail que via les archives de la liste...

Cool :)

Tu as regardé dans tes spams ?