One way to do it is to pass new parameters(with tha exact name of you're mapfile variable) in the GetFeatureInfo URL so it would look something like this:
Here is the request GetFeatureInfo /cgi-bin/mapserv.exe?map=MYMAP service=WMS&version=1.1.0&request=GetFeatureInfo&layers=ecoles&query_layers=ecoles&styles=&bbox=-8820221.560815%2C5721770.182129%2C-7587445.168853%2C6361395.234705&srs=EPSG%3A900913&feature_count=3000&x=272&y=457&height=523&width=1008&info_format=text%2Fhtml *&**SEMCDC=<value>&**RSS=**<value>&**ORDRE**<value>* MapServer will then replace the value before returning the result. hope's this help.... MartinO 2009/11/23 <[email protected]> > > Hi, > I already posted this problem on openlayers list, but it might be a > mapserver issue. > > OpenLayers.Control.WMSGetFeatureInfo doesn't use the FILTER key in my > mapfile. This filter is define with variables like this: > FILTER "semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in (%ORDRE%)" . > > The getMap request is succesfull but not the GetFeatureInfo request > > Here is the request GetFeatureInfo > /cgi-bin/mapserv.exe?map=MYMAP > service=WMS&version=1.1.0&request=GetFeatureInfo&layers=ecoles&query_layers=ecoles&styles=&bbox=-8820221.560815%2C5721770.182129%2C-7587445.168853%2C6361395.234705&srs=EPSG%3A900913&feature_count=3000&x=272&y=457&height=523&width=1008&info_format=text%2Fhtml > > Here is the response > <?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?> > <!DOCTYPE ServiceExceptionReport SYSTEM " > http://schemas.opengis.net/wms/1.1.0/exception_1_1_0.dtd"> > <ServiceExceptionReport version="1.1.0"> > <ServiceException> > prepare_database(): Query error. Error declaring cursor: ERROR: syntax > error at or near "%" > LINE 1: ...:text from ecoles WHERE (semcdc in (%SEMCDC%) ... > ^ > With query string: DECLARE mycursor BINARY CURSOR FOR SELECT > "taux_abs"::text,"nouv"::text,asbinary(force_collection(force_2d(geom900913)),'NDR'),id::text > from ecoles WHERE (semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in > (%ORDRE%)) and (geom900913 && setSRID( 'BOX3D(-8493071.07981319 > 5795761.22549582,-8480841.15528974 5807991.15001926)'::BOX3D,900913) ) > > </ServiceException> > </ServiceExceptionReport> > > In OL, I have a WMS layer define like this: > new OpenLayers.Layer.WMS('ecoles', > '.../cgi-bin/mapserv.exe?map=MYMAP',{layers: 'ecoles', transparent: "true", > format:"image/gif", SEMCDC:thisCDC, RSS: thisRSS, ORDRE: > thisOrdre},{isBaseLayer: false, visibility: > false,singleTile:true,transitionEffect: 'resize'}); > > How should I query the layer? > Thanks > Steve > * > Steve Toutant, M. Sc.* > Analyste en géomatique > Secteur environnement > Direction de la santé environnementale et de la toxicologie > Institut national de santé publique du Québec > 945, avenue Wolfe > Québec, Qc G1V 5B3 > > Tél.: (418) 650-5115 #5281 > Fax.: (418) 654-3144* > **[email protected]* <[email protected]>* > **http://www.inspq.qc.ca* <http://www.inspq.qc.ca/> > > > _______________________________________________ > mapserver-users mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapserver-users > >
_______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
