我正在尝试从 PHP 中放置这个 Assoc 数组并将其发送到 JS 以将其与 google maps api 一起使用。我知道的代码是这样的:
标记.php
<?php
$config = parse_ini_file('config.ini');
$sql = "SELECT `secName` , `secLat` , `secLng` FROM `guia_sectors`";
if (!$mysqli = new mysqli ($config['HOST'], $config['USER'], $config['PASSWORD'], $config['DB']))
{
echo "MySQLI Error: " . $mysqli->error;
}
$result = $mysqli->query($sql);
for ($i = 0; $i < $result->num_rows; $i++) {
echo json_encode($result->fetch_array(MYSQLI_ASSOC));
}
?>
JS
function getMarker () {
$.get ('includes/marker.php', function (data) {
alert(data);
});
}
这是我从 Marker.php 获得的数组,我需要使用 Lat 和 Lng:
{"secName":"aosindaiosdn","secLat":"-54.74584205236408","secLng":"-68.19616198539734"}{"secName":"JAsud","secLat":"-54.74584205236408","secLng":"-68.19616198539734"}
更新:
我找到了答案。问题是我错误地发送了 assoc 数组。
解决方案是这样做:
$result = $mysqli->query('SELECT...');
$rows = array();
while ($r = $result->fetch_array(MYSQLI_ASSOC)) {
$rows[] = $r;
}
echo json_encode($rows);