At a minimum, I think that you will need to add quotes around the query
columns. (just use single quotes, not the fancy Microsofty ones below...)
FILTER ('[USE1_DESC]'=%idOwnerQueryDESC% AND '[BLOCK]'=%idOwnerQueryBLOCK%)
Try setting a filter with static values from your data to get the filter format
working before you add the complexity of passing the values in with variables.
FILTER ('[USE1_DESC]'='myUse' AND '[BLOCK]'='myBlock')
David.
From: [email protected]
[mailto:[email protected]] On Behalf Of Jay Kapalczynski
Sent: Thursday, December 10, 2009 3:21 PM
To: 'Emiliano Castañeda'
Cc: [email protected]
Subject: RE: [mapserver-users] Expression Syntax
Emiliano thanks for the response....yea I looked at the documentation and it
was a bit fuzzy to me...
If I do them individually it works:
#FILTERITEM 'USE1_DESC'
#FILTER /.*%idOwnerQueryDESC%.*/i
#FILTERITEM 'BLOCK'
#FILTER /.*%idOwnerQueryBLOCK%.*/i
FILTER ([USE1_DESC]=%idOwnerQueryDESC% AND [BLOCK]=%idOwnerQueryBLOCK%)
ERROR: msEvalExpression: Expression parser error. Failed to parse expression:
=Residential AND =006
FILTER (USE1_DESC=%idOwnerQueryDESC% AND BLOCK=%idOwnerQueryBLOCK%)
I seemed to get a bunch of returns that were incorrect...seems like it grabbed
all of them.
Thoughts?
From: Emiliano Castañeda [mailto:[email protected]]
Sent: Thursday, December 10, 2009 2:13 PM
To: Jay Kapalczynski
Cc: [email protected]
Subject: Re: [mapserver-users] Expression Syntax
Jay,
you must use FILTERITEM only for simple FILTER expressions (string comparison
only)
for example:
FILTER "2005" ->fieldvalue
FILTERITEM "year" ->fieldname
For Logical FILTER expressions you do not define FILTERITEM. In this case you
must place the FILTER between parentheses, and fieldnames between brackets
for example:
FILTER ([field1]<4000 AND "[field2]"=="Museum") -->observe quotes on both sides
on text fields
See http://mapserver.org/mapfile/expressions.html#expressions for detail on how
to build logical expressions
Regards,
Emiliano
2009/12/10 Jay Kapalczynski
<[email protected]<mailto:[email protected]>>
I looked on map server website in the documentation and cant get the synstax
correct
I have two textboxes idOwner and idOwner2
I am a bit confused on the FILTERITEM because I am trying to write the
expression to include two fields.
USE1_DESC and BLOCK are the two fields that form the query
LAYER # Parcels Owner Layer
NAME 'Parcels'
DATA 'parcels/parcels.shp'
STATUS DEFAULT
TYPE POLYGON
METADATA
qstring_validation_pattern '.'
END
TEMPLATE 'parcels/itemquery_parcels_Owner.html'
FILTERITEM 'USE1_DESC'
FILTER (* WHERE USE1_DESC = '%idOwner%' and BLOCK =
'%idOwner2%')
END
_______________________________________________
mapserver-users mailing list
[email protected]<mailto:[email protected]>
http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
Ing. Emiliano Castañeda
SUR Emprendimientos Tecnológicos
Ing. Huergo 1189 (C1007AOL)
Ciudad de Buenos Aires, Argentina
Tel. +54 (11) 5811-4552 ext. 107
[email protected]<mailto:[email protected]>
www.suremptec.com<http://www.suremptec.com>
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users