2

我正在使用 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"
4

1 回答 1

0

在DATA中使用 select 查询, 然后使用FILTER * MAPSERV * 为 Filter 创建 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

于 2012-11-22T09:49:38.820 回答