Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
- arzobispo
- Активный участник
- Сообщения: 230
- Зарегистрирован: 10 сен 2008, 10:28
- Репутация: 3
- Контактная информация:
Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
Доброго времени суток!
У меня такая проблема, не могу сделать (вернее связать его с запросом SQL) выпадающий список на html-странице. Сейчас у меня на html-странице все сделано с использованием checkbox'ов, но по скольку это не самый удобный вариант, если список значений велик. Описание проблемы: на web-странице есть выпадающий список <SELECT></SELECT>, его необходимо связать с SQL запросом, находящимся в мар-файле, чтобы при выборе нужного значения на карте закрашивались квадратики соответствующие запросу. Например, в 36 клетках сидят животные, 2 белого цвета, один черного, 3 рыжих, в остальныех одного цвета, и вот когда выбираю из списка "Белый", нажимаю кнопку Выбрать, в результате на карте закрашиваются 2 квадратика.
У меня такая проблема, не могу сделать (вернее связать его с запросом SQL) выпадающий список на html-странице. Сейчас у меня на html-странице все сделано с использованием checkbox'ов, но по скольку это не самый удобный вариант, если список значений велик. Описание проблемы: на web-странице есть выпадающий список <SELECT></SELECT>, его необходимо связать с SQL запросом, находящимся в мар-файле, чтобы при выборе нужного значения на карте закрашивались квадратики соответствующие запросу. Например, в 36 клетках сидят животные, 2 белого цвета, один черного, 3 рыжих, в остальныех одного цвета, и вот когда выбираю из списка "Белый", нажимаю кнопку Выбрать, в результате на карте закрашиваются 2 квадратика.
Последний раз редактировалось arzobispo 05 ноя 2008, 18:15, всего редактировалось 1 раз.
С Уважением, Антон
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
так чем не годится, то как это сделано здесь?
пристегивайтесь, турбулентность прямо по курсу
- arzobispo
- Активный участник
- Сообщения: 230
- Зарегистрирован: 10 сен 2008, 10:28
- Репутация: 3
- Контактная информация:
Re: Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
Видишь в чем дело, в примере, что ты мне давал линк, там формирутеся запрос на JavaScript и отправляется в мар-файл, у меня наоборот, в мар-файле есть SQL запрос, к которому мне надо привязать выпадающий список <select></select>. Это вызвано тем, что у меня с JavaScript туго, а том случае, что у меня JavaScript не нужен 

С Уважением, Антон
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
Подобная задача решается элементарно путем использования html форм. Например:
1. Map-файл:
2. HTML-шаблон:
3. Пример URL:
1. Map-файл:
Код: Выделить всё
MAP
IMAGETYPE GIF
EXTENT -1.782351 0.244013 -0.618259 1.314817
SIZE 400 300
WEB
TEMPLATE "/ms4w/apps/mslocal/templates/example.html"
IMAGEPATH "/ms4w/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "base"
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=1234 dbname=postgis host=localhost"
DATA "the_geom FROM prostokarta_region USING SRID=4326"
TYPE POLYGON
CLASS
COLOR 125 234 100
OUTLINECOLOR 100 100 100
END
END
LAYER
NAME "prostokarta_region"
CONNECTIONTYPE postgis
CONNECTION "user=postgres password=1234 dbname=postgis host=localhost"
DATA "the_geom FROM
(
SELECT prostokarta_region.the_geom AS the_geom,
prostokarta_region.oid AS oid,
animals.color AS acolor
from prostokarta_region, animals
where (animals.id = prostokarta_region.id) and (animals.color='%col%')
)
AS new_table USING SRID=4326"
TYPE POLYGON
CLASSITEM "acolor"
CLASS
NAME "Белые"
EXPRESSION 'Белый'
COLOR 255 255 255
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Черные"
EXPRESSION 'Черный'
COLOR 0 0 0
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Желтые"
EXPRESSION 'Желтый'
COLOR 255 255 0
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Серые"
EXPRESSION 'Серый'
COLOR 100 100 100
OUTLINECOLOR 100 100 100
END
CLASS
NAME "Рыжие"
EXPRESSION 'Рыжий'
COLOR 200 100 0
OUTLINECOLOR 100 100 100
END
END
END
Код: Выделить всё
<html>
<head>
<title>Example</title>
</head>
<body>
<!-- ОПИСАНИЕ MAPSERVER-ФОРМЫ -->
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe">
<input type="hidden" name="map" value="[map]">
<select name ="col" size=1>
<option value='Белый'>Белые</option>
<option value='Черный' selected>Черные</option>
<option value='Желтый'>Желтые</option>
<option value='Серый'>Серые</option>
<option value='Рыжий'>Рыжие</option>
</select>
<input type="submit" value="Запросить">
<input type="hidden" name="layer" value="prostokarta_region">
<input type="hidden" name="layer" value="base">
<input type="hidden" name="mode" value="browse">
</form>
<div align="center">
<input type="image" name="img" src="[img]" width="300" height="200">
</div>
</body>
</html>
Код: Выделить всё
http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/mslocal/map/example.map&layer=prostokarta_region&layer=base&mode=browse
Spatial is now, more than ever, just another column- The Geometry Column.
- arzobispo
- Активный участник
- Сообщения: 230
- Зарегистрирован: 10 сен 2008, 10:28
- Репутация: 3
- Контактная информация:
Re: Выпадающие списки <SELECT>, PostgreSQL+PostGIS, MapServer
Денис, выражаю тебе ОГРОМНУЮ благодарность!!!!
Всё работает!!!
Всё работает!!!
С Уважением, Антон
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость