Коллеги, продолжаю развивать карту со зверюшками и вот с интересной проблемой столкнулся.
Есть у меня 8 выпадающих списков и 4 блока с чекбоксами (в каждом блоке от 3 до 5 чекбоксов). Далее буду приводить код в перемешку с описанием проблемы и вопросами, для краткости html сокращу (количество Выпадающих списков и чекбоксов).
Код-html:
Код: Выделить всё
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe">
 <text><b>Волк</b></text><br>
  <input type="hidden" name="map" value="[map]">
   <select name ="nam" size=1>
    <option  selected></option>
    <option value='Лесной'>Лесной</option>
    <option value='Полярный'>Полярный</option>
    <option value='Степной'>Степной</option>
   </select><br>
 <text><b>Заяц</b></text><br>
  <input type="hidden" name="map" value="[map]">
   <select name ="nam" size=1>
    <option  selected></option>
    <option value='Русак'>Русак</option>
    <option value='Пятнистый'>Пятнистый</option>
    <option value='Степной'>Степной</option>
   </select><br>
 <text><b>Лиса</b></text><br>
  <input type="hidden" name="map" value="[map]">
   <select name ="nam" size=1>
    <option  selected></option>
    <option value='Маленькая'>Маленькая</option>
    <option value='Чернобурка'>Чернобурка</option>
    <option value='Низкая'>Низкая</option>
   </select><br>
 <text><b>Цвета</b></text><br>
  <input type="checkbox" name="col" value='Белый'>Белый<br>
  <input type="checkbox" name="col" value='Черный'>Черный<br>
  <input type="checkbox" name="col" value='Рыжий'>Рыжий<br>
 <text><b>Пол</b></text><br>
  <input type="checkbox" name="sex" value='Муж'>муж<br>
  <input type="checkbox" name="sex" value='Жен'>Жен<br>
  <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>Код МАР-файла:
Код: Выделить всё
MAP
IMAGETYPE GIF
EXTENT -0.384 -0.383 0.217 -0.245
SIZE 680 612
WEB 
   TEMPLATE   "/ms4w/apps/mslocal/templates/index2.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.name AS aname, animals.color AS acolor, animals.sex AS asex
            from prostokarta_region, animals
            where (animals.id = prostokarta_region.id) and (animals.name='%nam%') and (animals.color='%col%') and (animals.sex='%sex%')
            )
            AS new_table USING SRID=4326"
  TYPE POLYGON
  CLASSITEM "aname"
  CLASS
   NAME "Лесной"
   EXPRESSION 'Лесной'
   COLOR 100 100 100
   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
  CLASS
   NAME "Степной"
   EXPRESSION 'Степной'
   COLOR 200 100 50
   OUTLINECOLOR 100 100 100
  END
  CLASS
   NAME "Маленькая"
   EXPRESSION 'Маленькая'
   COLOR 400 100 50
   OUTLINECOLOR 100 100 100
  END
  CLASS
   NAME "Чернобурка"
   EXPRESSION 'Чернобурка'
   COLOR 500 100 50
   OUTLINECOLOR 100 100 100
  END
  CLASS
   NAME "Низкая"
   EXPRESSION 'Низкая'
   COLOR 700 100 50
   OUTLINECOLOR 100 100 100
  END
END
ENDКод: Выделить всё
SELECT prostokarta_region.the_geom AS the_geom,
            prostokarta_region.oid AS oid,
         animals.name AS aname, animals.color AS acolor, animals.sex AS asex
            from prostokarta_region, animals
            where (animals.id = prostokarta_region.id) and (animals.name='%nam%') or (animals.color='%col%') or (animals.sex='%sex%')Вторая проблема, в выпдающих списках (волк, заяу и лиса), если заметили имется <select name ="nam" size=1> значение присвоено name ="nam", в этом случае вообще ничего не выводится и на карте, пришлось мне сделать следующее, один выпадающий список с разграничителями:
Код: Выделить всё
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe">
 <text><b>Выберите животное</b></text><br>
  <input type="hidden" name="map" value="[map]">
   <select name ="nam" size=1>
    <option  selected></option>
    <option>---</option>
    <option>Волк</option>
    <option>---</option>
    <option value='Лесной'>Лесной</option>
    <option value='Полярный'>Полярный</option>
    <option value='Степной'>Степной</option>
    <option>---</option>
    <option>Заяц</option>
    <option>---</option>
    <option value='Русак'>Русак</option>
    <option value='Пятнистый'>Пятнистый</option>
    <option value='Степной'>Степной</option>
    <option>---</option>
    <option>Лиса</option>
    <option>---</option>
    <option value='Маленькая'>Маленькая</option>
    <option value='Чернобурка'>Чернобурка</option>
    <option value='Низкая'>Низкая</option>
   </select><br>
 <text><b>Цвета</b></text><br>
  <input type="checkbox" name="col" value='Белый'>Белый<br>
  <input type="checkbox" name="col" value='Черный'>Черный<br>
  <input type="checkbox" name="col" value='Рыжий'>Рыжий<br>
 <text><b>Пол</b></text><br>
  <input type="checkbox" name="sex" value='Муж'>муж<br>
  <input type="checkbox" name="sex" value='Жен'>Жен<br>
  <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> ((
((Мне необходимо следующее:
Из выпадающего списка с Волками выбираю Лесной, затем из чекбокса Цвета выбираю Белый и потом из Чекбокса Пол выбираю муж, НО при этом я не знаю (умышленно не знаю, т.е. как будто я пользователь карты, которому не известно, что записано в БД) и у меня на карте закрашиваются соответствующие клетки с животным. Потом аналогично для других животных. И хочу, чтобы можно было выбирать все по отдельности, т.е. выбираю из списка с волками, потом из Зайцев и Лис и мне на карте закрашиваются где такие зверюшки сидят на карте.

 
						
 Вечером попробую его дома. У меня еще вопрос, его писал первый раз еще в этой теме:
 Вечером попробую его дома. У меня еще вопрос, его писал первый раз еще в этой теме: