banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Sat 24 August 2013 13:14

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

fichier php avec format geoJson

Bonjour,
je voudrais retourner l'mage d'une region qui se colore grace l'ajout d'un vecteur,pour y arriver je me suis recouru au format geoJson mais dans mon navigateur quand j'entre le nom de l'endroit à colorer il me renvoit le fchier php,franchement je connais preque rien en php,j'a fait un effort à écrire ce fichier grace aux exmples sur net j'ai besoin d'un aide svp

Code:

<?php
$db = pg_connect("host=localhost port=5433 dbname=template_postgis user=postgres password=tarek");

        $sql = "SELECT  ST_AsGeoJSON(geom) AS geo FROM tun_adm2 where name_1='$_POST[sliderValue]' " ; 
                    
   
   // Connect to database


   // Perform database query
   $query = pg_query($dbcon,$sql); 
  

   // Return streets as GeoJSON
   $geojson = array(
      'type'      => 'FeatureCollection',
      'features'  => array()
   ); 
  
   // Add edges to GeoJSON array
   while($row=pg_fetch_array($query)) {  

      $feature = array(
         'type' => 'Feature',
         'geometry' => array(
            'type' => 'Point',
             'coordinates' => array($row[1], $row[2])

         ),
         'properties' => array(
            'gid' => $row[0],
            'name_1' => $row[3]
         )
      );
      
      // Add feature array to feature collection array
      array_push($geojson['features'], $feature);
   }
    
   // Close database connection
   pg_close($dbcon);

   // Return  result
   header('Content-type: application/json',true);
   echo json_encode($geojson);
   
?>

dans le fichier html

Code:

json_layer = new OpenLayers.Layer.Vector("GeoJSON", {

strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url:"http://localhost/home/projet1/extent.php",
format: new OpenLayers.Format.GeoJSON()
})

});

// Add our vector layer to the map
map.addLayer(json_layer);

Code:

 <form action="extent.php" method="POST" name="form">


        <table cellpadding="0">
        <tr>
        <td>
        <p>Region:</p>
        </td>
        <td>
        <input name="sliderValue" id="sliderValue" type="Text" size="10">
        </td>
        </tr>
        <tr>
        <td>
<input name="Submit" type="Submit" value="Submit">
</td>
</tr>
</table>

</form>

Hors ligne

 

#2 Sat 24 August 2013 15:52

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: fichier php avec format geoJson

j'ai changé le code php comme suit mais toujours la même erreur un clique sur le bouton me renvoit le fichier php

Code:

<?php
$dbconn = pg_connect("host=localhost dbname=template_postgis user=postgres
password=tarek");
$requete = "SELECT gid, ST_ASGeoJSON(geom) AS geojson FROM tun_adm2 wherename_1='$_POST[sliderValue]'";
$result = pg_query($dbconn,$requete);
$Resultats = array('type'=> 'FeatureCollection', 'features' => array());
$compteur = 0;
while ($row = pg_fetch_assoc($result)) {
//Je rajoute un feature avec geométrie et propriétés nulles pour l'instant
$Resultats['features'][$compteur] = array('type' => 'feature', 'geometry' => Null, 'properties' => Null);

$Resultats['features'][$compteur]['geometry'] = row['geojson'];

$Resultats['features'][$compteur]['properties']['code_gouv'] = row['gid'];

$compteur ++; //Incrémentation du compteur
}
pg_free_result($requete);
   header('Content-type: application/json',true);
//Affichage de json grâce à la fonction magique
echo json_encode($Resultats);
?>

Dernière modification par araking (Sat 24 August 2013 15:52)

Hors ligne

 

#3 Sat 24 August 2013 16:28

zinat
Participant occasionnel
Date d'inscription: 6 Aug 2013
Messages: 31

Re: fichier php avec format geoJson

Bonjour,

vérifiez si la connexion à votre base de données est bien établie
pour se faire c'est mieux de le faire dans une page à part et de l'inclure par la suite avec la fonction require dans votre page php

Hors ligne

 

#4 Sun 25 August 2013 11:45

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: fichier php avec format geoJson

Bonjour,

Si la page PHP est renvoyée au lieu d'etre interprétée, cela veut surement dire que PHP n'est pas (ou mal) installé sur le serveur web que vous utilisez.
Comment avez-vous installé PHP ? avez-vous redémarré le serveur Web apres l'installation ?

Pour tester, vous pouvez créer une page PHP (par ex: info.php) renvoyant la configuration PHP:

Code:

<?php
phpinfo();
?>

Et l'appeler depuis le navigateur: localhost/info.php

Nicolas

Hors ligne

 

#5 Mon 26 August 2013 17:58

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: fichier php avec format geoJson

Bonjour,
malheureusement la configuration du serveur n'est pas bonne même avec l'installation du lamp ça pas marcher malgré mon apache est bien installé
avec les librairies nécissaire pour xampp il me faut désinstaller php5 et apache2 ce que je pense n'est pas bon pour mapserver

Hors ligne

 

#6 Wed 28 August 2013 22:03

michel56
Participant assidu
Lieu: Lorient
Date d'inscription: 14 Jul 2012
Messages: 474

Re: fichier php avec format geoJson

Bonsoir,

Tu travailles sous linux je pense, LAMP!!
Regarde dans la documentation de ta distribution il y a peut-être un bug avec LAMP.


Opérateur cartographique & DAO & PHP.

Hors ligne

 

#7 Mon 09 September 2013 14:38

araking
Participant actif
Date d'inscription: 8 Jul 2013
Messages: 83

Re: fichier php avec format geoJson

Bonjour,
j'ai essayé sous windows avec $_POST il me renvoit le résultat du script php au lieu du vecteur

Hors ligne

 

Pied de page des forums

Powered by FluxBB