[mapserver-users] Filter query

Steven Bowden steveb at bundaberg.qld.gov.au
Mon Jul 22 23:47:27 PDT 2002


Hello all,
I am having trouble figuring out how to use filters in php/mapscript
3.6.1.
I have a layer where I want to dynamically change the filter string.
Here is the layer out of the map file
LAYER
  NAME selected_parcel
  GROUP cadaster
  CONNECTIONTYPE postgis
  CONNECTION "user=steveb dbname=blis host=blis"
  TYPE polygon
  STATUS off
  TEMPLATE ""
  #FILTER "tag = 'RP83015/1'"  # Option 1
  FILTER "tag = 'test_string'"      # Option 2
  TRANSPARENCY 50
  DATA "the_geom from bucc"
  CLASS
     Name "Selected Parcel"
     COLOR 255 220 220
  END
END

Here is the relevant mapscript stuff
$rp=RP83015/1;
$selected_layer = $map->getlayerbyname(selected_parcel);
$selected_layer->setfilter("tag = $rp");
$selected_layer->set(status,MS_ON);
$image=$map->draw();
$image_url=$image->saveWebImage(MS_PNG,1,1,0);

I keep getting the following error and no image when I try and run the
script:
Warning: MapServer Error in msPOSTGISLayerWhichShapes(): prep_DB:Error
executing POSTGIS DECLARE statement (0.6 failed - retried 0.5 and it
failed too). DECLARE mycursor BINARY CURSOR FOR SELECT
tag::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text
from bucc WHERE (tag = RP83015/1) and (the_geom && setSRID(
'BOX3D(432838.932823529 7247483.128,432988.617176471
7247568.006)'::BOX3D,find_srid('','bucc','the_geom') )) in
/var/www/html/blis_dev/lis.phpm on line 86

I suspect it is due to the where clause in the sql, ie WHERE (tag =
RP83015/1).  I have tried placing the single quotes (') around $rp in
the setfilter line and it still fails.  The where clause in the error
message looks like this, WHERE (tag = ).  I have tried escaping the
single quotes with backslashes but still no go.
Is there another way to escape the single quotes so that they appear in
the where clause as 
WHERE (tag = 'RP83015/1')  ?
If not, am I going about this process in the correct way?
When I comment out the setfilter line in php and change the comment
around on Option 1 & 2 in the map file everything works how I want it
to.

Any advice would be greatly appreciated.
Thanks
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20020723/65e7defb/attachment.htm>


More information about the MapServer-users mailing list