2016-05-18 4 views
0

У меня есть три выпадающих списка, где мой пользователь может выбрать таблицу, поле и атрибут. Я использовал выбранные результаты из выпадающих списков, чтобы сделать запрос. Но теперь я хочу получить это на моей карте листовка, но я не знаю, как это сделать.Как загрузить данные из pgAdminIII с PHP и ajax в карточку листовки?

Это мой getData.php код:

<?php 

include "connect.php"; 

$table   = $_GET['tableSelected']; 
$field   = $_GET['fieldSelected']; 
$attribute  = $_GET['attributeSelected']; 

$sql = "SELECT $fieldstr 
     FROM $table l" ; 
     WHERE $field = $attribute"; 

if (!$response = pg_query($conn, $sql)) { 
    echo "A query error occured.\n"; 
    exit; 
} 

while ($row = pg_fetch_row($response)) { 
    foreach ($row as $i => $attr){ 
     echo $attr.", "; 
    } 
    echo ";"; 
} 

?> 

И это мой main.js код:

$('#slctTable, #slctField, #slctAttribute').change(function() 
{ 
    var tableSelected = document.getElementById("slctTable").value; 
    var fieldSelected = document.getElementById("slctField").value; 
    var attributeSelected = document.getElementById("slctAttribute").value; 
    $.ajax({ 
     "url": "php/getData.php", 
     "type": "GET", 
     "data": { 
      tableSelected: tableSelected, 
      fieldSelected: fieldSelected, 
      attributeSelected: attributeSelected 
     } 
    }) 
}); 

//Initalise map 
$(document).ready(initialize); 

function initialize(){ 
    $("#map").height($(window).height()); 

    map = L.map("map", { 
     center: L.latLng(53.21587, 6.556676), 
     zoom: 12 
    }); 

    var tileLayer = L.tileLayer("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png").addTo(map); 
}; 

UPDATE

Это то, что я вернусь на момент: enter image description here

ответ

0

Переместите слушателя change в свой initialize (чтобы он мог работать с map ..... добавьте функцию success к вашему ajax options, как показано ниже.

$.ajax({ 
    "url": "php/getData.php", 
    "type": "GET", 
    "data": { 
     tableSelected: tableSelected, 
     fieldSelected: fieldSelected, 
     attributeSelected: attributeSelected 
    }, 
    'success': function(data) { 
     //perform data transformation to a leaflet compatible format 
     ///then map.addLayer(transformedStuff) 
    } 

}) 
+0

Я внес изменения, которые вы сказали. Но я не знаю, как написать код для преобразования в файл Geojson. И как должен выглядеть мой php-файл? Потому что я думаю, что я тоже там пропал. –

+0

Как выглядит ответ из вашей базы данных? WKT? GeoJSON? – snkashis

+0

Я отредактировал мой вопрос. Вот как я возвращаю его в данный момент. См. Обновление. Это файл JSON с широтой и долготой. –