У меня есть три выпадающих списка, где мой пользователь может выбрать таблицу, поле и атрибут. Я использовал выбранные результаты из выпадающих меню, чтобы сделать запрос. Но теперь я хочу получить это на своей карте листовки, но я не знаю как.
Это мой код 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);
};
ОБНОВИТЬ
Переместить ваш change
слушатель в ваш initialize
(так что он может работать с map
….. добавить success
функция к вашему параметры ajax как ниже.
$.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)
}
})
Других решений пока нет …