MySQLI_ASSOC到JS数组

时间:2013-06-13 21:39:36

标签: php javascript ajax json mysqli

我正在尝试从PHP中放入这个Assoc数组并将其发送给JS以将其与google maps api一起使用。我所知道的代码是:

Marker.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"}

更新

我找到了答案。问题是我发送了关联数组错误。

解决方案是这样做:

$result = $mysqli->query('SELECT...');

$rows = array();
while ($r = $result->fetch_array(MYSQLI_ASSOC)) {
$rows[] = $r;
}
echo json_encode($rows);

1 个答案:

答案 0 :(得分:1)

如果您使用的是jQuery,请使用anArray=$.parseJSON(data);
然后访问anArray[0].secLat