MapServer + PHP
Добавлено: 05 май 2009, 11:35
				
				Привет всем!   
 
У меня возникла такая проблема, может кто может помочь.
Описание проблемы: надо стороку из РНР передать MapServer'у (в map-файл) и там сделать запрос.
Кусок из map-файла:
Т.е. вместо SELECT надо вписать из РНР код, который в последствии формирует SQL-запрос. Но как?   
 
РНР полностью приведу:
Вот собственно и всё 
			 
 У меня возникла такая проблема, может кто может помочь.
Описание проблемы: надо стороку из РНР передать MapServer'у (в map-файл) и там сделать запрос.
Кусок из map-файла:
Код: Выделить всё
  LAYER
  NAME "prostokarta"
  CONNECTIONTYPE postgis
  CONNECTION "user=postgres password=1234 dbname=postgis host=localhost"
  DATA "the_geom FROM 
         (
            SELECT prostokarta.the_geom AS the_geom,
            prostokarta.oid AS oid,
         prostokarta.groupunits AS agroupunits
            from prostokarta
            where (prostokarta.groupunits='%group%')
            )
            AS new_table USING SRID=4326"
  TYPE POLYGON
...
   
 РНР полностью приведу:
Код: Выделить всё
<?php
echo $pervaya1 = isset($_POST['pervaya1'])? $_POST['pervaya1'] : '';
echo $pervaya2 = isset($_POST['pervaya2'])? $_POST['pervaya2'] : '';
echo $pervaya3 = isset($_POST['pervaya3'])? $_POST['pervaya3'] : '';
echo $pervaya4 = isset($_POST['pervaya4'])? $_POST['pervaya4'] : '';
$a = "";
if ($pervaya1 != '')
{
$a = "`name` LIKE '%{$pervaya1}%'";
if ($pervaya2 != '' or $pervaya3 != '' or $pervaya4 != '')
{
$a .= " and ";   
}
}
if ($pervaya2 != '')
{
$a .= "`name_company` LIKE '%{$pervaya2}%'";
if ($pervaya3 != '' or $pervaya4 != '')
{
$a .= " and ";   
}
}
if ($pervaya3 != '')
{
$a .= "`sells_group` LIKE '%{$pervaya3}%'";
if ($pervaya4 != '')
{
$a .= " and ";   
}
}
if ($pervaya4 != '')
{
$a .= "`number_point` LIKE '%{$pervaya4}%'";
}
echo $sql = "SELECT * FROM `vibor` WHERE $a";
    //создать запрос
$query = $db->query($sql); 
 
  while ($row = $db->fetch_assoc($query))
  {
    
echo '<br>';
echo $row['name'].'<br>';
echo $row['name_company'].'<br>';
echo $row['sells_group'].'<br>';
echo $row['number_point'].'<br>';
     
  }
   
 
 ?>
<form action="" method="post">
pervaya1<input type="text" name="pervaya1" value="<?=$pervaya1?>"><br />
pervaya2<input type="text" name="pervaya2" value="<?=$pervaya2?>"><br />
pervaya3<input type="text" name="pervaya3" value="<?=$pervaya3?>"><br />
pervaya4<input type="text" name="pervaya4" value="<?=$pervaya4?>"><br />
<input type="submit" value="Go!">
