
У меня возникла такая проблема, может кто может помочь.
Описание проблемы: надо стороку из РНР передать 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!">
