#1 Tue 18 May 2010 10:23
- valentin37
- Participant occasionnel
- Date d'inscription: 20 Apr 2009
- Messages: 29
Requête sur une chaine de caractères
bonjour,
je suis actuellement bloqué au moment d'effectuer un filtre sur une class en MapScript
je dispose d'une BDD sous PostGis. Je souhaite sélectionner des données dans un champs de type "character varying(15)" où je peux trouver des valeurs simples comme "A" "B" ...... "U" ou plus complexes comme "A-B-D", "C-D".
or je souhaite sélectionner tout les champs avec la même valeur comme "A" + "A-B" + "A-J-L" où "A" est en commun
bien sur je peux le taper en dur :
$class->expression = "('[nom_champ]' = 'A' OR '[nom_champ]' = 'A-B-D' OR '[nom_champ]' = 'A-D')";
et cela fonctionne mais je souhaiterai aller plus vite parce qu'il y'a un grand nombre de combinaisons possibles
une expression du genre :
$class -> expression = "('[nom_variablel]' like '%A%')";
ou alors
$class -> expression = "('[nom_variable]' = '/~A/')";
j'ai évidement testé ces deux expression...aucun résultats.... pouvez m'aider svp?
Hors ligne
#2 Tue 18 May 2010 10:45
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Requête sur une chaine de caractères
bonjour,
je suis actuellement bloqué au moment d'effectuer un filtre sur une class en MapScript
je dispose d'une BDD sous PostGis. Je souhaite sélectionner des données dans un champs de type "character varying(15)" où je peux trouver des valeurs simples comme "A" "B" ...... "U" ou plus complexes comme "A-B-D", "C-D".
or je souhaite sélectionner tout les champs avec la même valeur comme "A" + "A-B" + "A-J-L" où "A" est en commun
bien sur je peux le taper en dur :
$class->expression = "('[nom_champ]' = 'A' OR '[nom_champ]' = 'A-B-D' OR '[nom_champ]' = 'A-D')";
et cela fonctionne mais je souhaiterai aller plus vite parce qu'il y'a un grand nombre de combinaisons possibles
une expression du genre :
$class -> expression = "('[nom_variablel]' like '%A%')";
ou alors
$class -> expression = "('[nom_variable]' = '/~A/')";
j'ai évidement testé ces deux expression...aucun résultats.... pouvez m'aider svp?
Bonjour,
je pense que les expressions regulieres seront tes amies:
http://mapserver.org/mapfile/expressions.html
(pas capable, cependant, de te donner celle qui va bien dans ton cas, mais le web fourmille de tutos là-dessus )
Nicolas Ribot
Hors ligne
#3 Tue 18 May 2010 11:31
- valentin37
- Participant occasionnel
- Date d'inscription: 20 Apr 2009
- Messages: 29
Re: Requête sur une chaine de caractères
merci beaucoup,
je me relance dans mes recherches
bonne journée
Hors ligne