2016-02-14 3 views
1

У меня есть ряд координат, хранящихся в базе данных sqlite. Мне нужны эти координаты, которые будут использоваться в тепловой карте на лифте. Я использую следующий плагин: https://github.com/Leaflet/Leaflet.heatпреобразование данных из sqlite PHP

Данные должны быть в следующем формате:

var addressPoints = [ 
[52.344161, 4.912279], 
[52.342425, 4.913038], 
[52.342034, 4.913256], 
[52.341987, 4.912462]]; 

Я извлечь данные из базы данных SQLite в PHP с помощью:

$db = new SQLite3('jwtrack.sqlite'); 
$results = $db->query("SELECT coord FROM trackjw"); 
while ($row = $results->fetchArray()) { 
echo json_encode($row['coord']); 
} 
$db->close(); 

Полученные данные выглядят так:

"52.344161000, 4.912279000""52.342425000, 4.913038200""52.342034000, 4.913256000""52.341987000, 4.912462000""52.342336000, 4.912106000" 

Как можно Я правильно ввел данные SQLite в «var addressPoints»?

Thansk заранее,

JWB

+0

Каков тип столбца 'coord' в вашей базе данных SQLite? – IvanSanchez

ответ

0

Если данные следует, что такой же формат с кавычки в начале и в конце и двойные кавычки в между парами следующий должен производить массив с парой в качестве входа.

$data='"52.344161000, 4.912279000""52.342425000, 4.913038200""52.342034000, 4.913256000""52.341987000, 4.912462000""52.342336000, 4.912106000"'; 

$pairs=explode('""',trim($data,'"')); 
print_r($pairs); 

выход:

Array 
(
    [0] => 52.344161000, 4.912279000 
    [1] => 52.342425000, 4.913038200 
    [2] => 52.342034000, 4.913256000 
    [3] => 52.341987000, 4.912462000 
    [4] => 52.342336000, 4.912106000 
) 

Вы можете изменить свой первоначальный PHP, однако, который будет производить различные данные

$db = new SQLite3('jwtrack.sqlite'); 
$results = $db->query("SELECT coord FROM trackjw"); 
$json=array(); 

while($row = $results->fetchArray()) { 
    $json[]=$row['coord']; 
} 
$db->close(); 
$json=json_encode($json); 
echo $json; 

, если вам нужно это без кавычек вокруг значений ...

$json=str_replace('"','',$json); 

в javascript, то вы могли бы сделать:

echo "var addressPoints={$json};"; 
+0

Спасибо. Это указывало мне в правильном направлении. Сейчас у меня это работает. – user1698459

+0

Привет, я играл с ним, и, когда я использую его в одном PHP-файле, он отлично работает с использованием var addressPoints = ; – user1698459

Смежные вопросы