// Fonction javascript qui permet d'afficher une fenetre popup
avec les parametres nom (nom des champs) val (valeurs des champs)
<script langage= `JavaScript'>
function info(nom,val){
var url="info.php?nom="+nom+"&&val="+val+"";
var
prop="status=no,scrollbars=yes,toolbar=no,menubar=no,resizable=yes,location=no,width=200,height=80,top=235,left=690";
window.open(url,"info",prop);
</script>
$clkpoint->SetXY($_POST['img_x'], $_POST['img_y']);
$ProvExtents = explode(" ", $_POST['extent']);// On
récupere le nouvel extent
$dfMinX = doubleval($ProvExtents[0]);
$dfMinY = doubleval($ProvExtents[1]);
$dfMaxX = doubleval($ProvExtents[2]);
$dfMaxY = doubleval($ProvExtents[3]);
// tester si on a clické sur l'outils infos
if($_SESSION['outils']==2)
{
// création d'un nouvel objet point
$oClickGeo = ms_newPointObj();
$width = $map->width;
$height = $map->height;
// récupération des coordonnées du click
$x_clik=intval($_POST['img_x']);
$y_clik=intval($_POST['img_y']);
// conversion des coordonnées pixel en coordonées
géoréferencés avec notre fonction LtiSigPix2Geo()
$nClickGeoX = LtiSigPix2Geo($x_clik, 0, $width, $dfMinX,
$dfMaxX, 0);
$nClickGeoY = LtiSigPix2Geo($y_clik, 0, $height,$dfMinY,
$dfMaxY, 1);
$oClickGeo->setXY($nClickGeoX, $nClickGeoY);
@$layer->queryByPoint($oClickGeo, MS_MULTIPLE, -1); //
exécution de la requete
// on récupere le nombre de couches actives (layer)
$numcouches = $map->numlayers;
$nResults=0;
for($i = 0; $i < $numcouches; $i++){
$layer=$map->getLayer($i);
$nLayerResults = $layer->getNumResults();
if ($nLayerResults == 0)
continue; // Pas de résultats
$layer->open();
$champs = explode(" ",
$layer->getMetaData("RESULT_FIELDS"));// On récupère les
attributs de la couche explorée
//qui correspondent aux attributs indiqués dans
RESULT_FIELdS du fichier ltisig.map
for ($iRes=0; $iRes < $nLayerResults; $iRes++)
{
$oRes = $layer->getResult($iRes);
$oShape =
$layer->getShape($oRes->tileindex,$oRes->shapeindex);
// selectionner tous les champs
$i=0;
while ( list($key,$val) = each($oShape->values) )
{
$champs[$i++] = $key;
}
// recupération des noms de colonnes
$nom_champ=array();
$val_champ=array();
for ($iField=0; $iField < count($champs); $iField++)
{
$nom_champ[$iField]=$champs[$iField];
}
// Récupération de la valeur des champs
for($iField=0; $iField < sizeof($champs); $iField++)
{
$val_champ[$iField]=$oShape->values[$champs[$iField]];
}
// On converti les tableaux en chaines de caracteres pour les
envoyé sur la page info par popup
$_nom_champ=implode("|",$nom_champ);
$_val_champ=implode("|",$val_champ);
?>
<!-- Appel de la fenetre popup info avec du javascript -->
<script language="javascript">
info('<?php echo $_nom_champ;?>','<?php echo
$_val_champ;?>');
</script>
<?php $oShape->free();
}
$layer->close();
}
}// fin test outils infos
/*---------------------------------------------------------------------------------------*/
/*---------- Code de la page info.php
-----------------------------------*/
/*---------------------------------------------------------------------------------------*/
<body marginheight="1" leftmargin="1" rightmargin="1">
<?php
$nom=$_GET['nom'];
$val=$_GET['val'];
$_nom=explode("|",$nom);
$_val=explode("|",$val);
?>
<table align="center" cellspacing="0" border="1"
class="tableinfo">
<tr class="ligne"><td
colspan="2">Informations</td></tr>
<?php for($i=0;$i<count($_nom);$i++)
{?>
<tr align="center"><td><b><?php echo
$_nom[$i];?></b></td><td><?php echo
$_val[$i];?></td></tr>
<?php }?>
</table>
</body>
|