IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Créer et publier une couche à partir postgis en utilisant javascript


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut Créer et publier une couche à partir postgis en utilisant javascript
    Bonjour à tous,

    ma base de données est sur postgresql/postgis,à partir une table s'appelle "Céréales" je veux créer et publier une carte d'un champ s'appelle "production" sur mon site. (une carte de production)
    Pour cela, il faut sélectionner l'année et l'espece sur le site, et la requête SQL (jointure avec une couche géométrique) est faite par PHP.

    code PHP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    //get the table and fields data
    $espece = $_GET['Page'];
    $annee = $_GET['annee'];
    $production = $_GET['production'];
     
     
    //$id = $_GET['id'];
     
    $sql = "SELECT *  FROM benmed.\"Communes\",benmed.\"R_CerealesHiver\" WHERE benmed.\"Communes\".code_commune = benmed.\"R_CerealesHiver\".code_commune and benmed.\"R_CerealesHiver\".espece='$espece' and benmed.\"R_CerealesHiver\".annee=$annee and benmed.\"R_CerealesHiver\".production = $production ";
     
     
     
    //send the query
    if (!$response = pg_query($conn, $sql)) {
    	echo "A query error occured.\n";
    	exit;
    }
    $trv = true;
    //echo the data back to the DOM
    while ($row = pg_fetch_row($response)) {
     
     
    	foreach ($row as $i => $attr){
    		if ( $trv ){echo $attr.", ";}
    		$trv = true;
    	}
     
    	echo ";";
    }
    Est ce que ce code PHP est juste?
    Est ce qu'on peut utiliser GET pour le champ "production"?
    Comment je peut céer une nouvelle couche des valeurs de production par AJAX?

    merci d'avance pour toute orientation ou aide

  2. #2
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    autrement:

    par python on utilise l'instruction Create Query Layer, quel est son équivalent par php ou javascript??

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Si ce code est utilisé par un appel AJAX, oui, il a l'air correct, si l'appel ajax est bien fait avec une requête GET en passant les bons paramètres, et en supposant que tu ais bien initialisé $conn avec la connexion à la base.

    Cela dit, je ne comprends pas bien où est le problème : tu as essayé et ça plante ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    Bonjour,

    Oui Celira. moi aussi je ne comprend pas où existe il l'erreur.

    code ajax:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    function DisplayStat(){
       //var fields = flds;
       var data = {
    		table: str,
    		fields: fields,
     
    	};
         $.ajax({ url:"get_map_prod.php",
    		    data: data,
    		    success: function(data){
    			alert("a");
    			//if (data) {
    			//var production=data.production;
    	       var dataArray = data.split(", ;");
     
    	dataArray.pop();    
    	dataArray.forEach(function(d){
    		d = d.split(", "); 
    			var feature = {
    				"type": "Feature",
    				"properties": {}, //properties object container
    				"geometry": JSON.parse(d[fields.length])			//parse geometry
    			};
    			alert ("c");
    		for (var i=0; i<fields.length; i++){
    			feature.properties[fields[i]] = d[i];
    		};
    		geojson.features.push(feature);
    	}	
    	);
     
    	alert("b");
    	hangry2();
    	}
    	});
     
    }
    function hangry2(){
    		console.log(geojson);
    		var statistique = new ol.style.Style({
            fill: new ol.style.Fill({
              color: [0,0,0,1]
            }),
            stroke: new ol.style.Stroke({
              color: [240,215,255,1],
              width: 1
            })
          });
    vector1 = new ol.layer.Vector({
    	title: 'Mes statistiques',
        source: new ol.source.Vector({
    	features: (new ol.format.GeoJSON()).readFeatures(geojson),
        //url: 'ilot.geojson',
        format: new ol.format.GeoJSON(),
     
     
      }),style: statistique
     
    });
    map.addLayer(vector1);
    }

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    On va essayer de comprendre : qu'est-ce qu'il se passe lorsque tu déclenches la fonction Javascript ? Tu as une erreur ? Est-ce que tu vois bien les alerte que tu as ajouté pour débugger ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé
    Femme Profil pro
    étudiant master
    Inscrit en
    Février 2014
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : étudiant master

    Informations forums :
    Inscription : Février 2014
    Messages : 167
    Par défaut
    il exécute la fonction displayStat (str, flds) et affiche les alertes, aussi la couches de "mes statistiques" dans switcherLayer mais la couche est vide, aucune information.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script php et chargement d'une couche vecteur postgis
    Par georex dans le forum SIG : Système d'information Géographique
    Réponses: 2
    Dernier message: 29/05/2012, 17h59
  2. Réponses: 2
    Dernier message: 21/10/2010, 08h28
  3. créer et ouvrir une image à partir d'une servlet
    Par natoine dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 27/04/2009, 19h39
  4. [AC-2003] créer et remplir une table à partir d'une autre
    Par Dokko974 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/04/2009, 10h57
  5. Créer et remplir une BD à partir de fichier SQL
    Par djamsdjams dans le forum Débuter
    Réponses: 1
    Dernier message: 26/11/2008, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo