我正在使用cgi-bin,我展示了一张地图,其中包含Postgres数据库中的一些数据。
但是,我需要引入一个输入,用户可以在其中选择一个日期,该日期将过滤数据库中的结果。
我有输入并通过 URL(get 方法)发送参数,但我不知道如何从 cgi-bin 查询字符串中获取此参数以及如何将参数的值连接到数据库查询。
这是映射文件的代码部分:
LAYER
DATA "the_geom from (select * from
vista_puntos where date > <DATE_VAR_FROM_QUERY_STRING>) as subquery
using unique id_valor using srid=4326"
在 DATA 中使用选择查询之后使用过滤器*MAPSERV* 为过滤器创建一个 Where 子句
例
DATA "geom from roads"
FILTER "type='%road1%' or type='%road2%'"
CLASS
NAME "Road Type1"
EXPRESSION ('[type]' = 'type1')
STYLE
SIZE 10
COLOR 255 0 0
END
END
CLASS
NAME "Road Type2"
EXPRESSION ('[type]' = 'type2')
STYLE
SIZE 10
COLOR 0 255 0
END
END
查询字符串格式类似于: ..mapserv.exe?map=mapfile&road1=type1&road2=type2