JCa*_*Cam 4 php mysql jquery json google-maps-api-3
我正在尝试从MySQL结果创建一个json对象,但没有得到我需要的结果.
这是PHP
$json = array();
$result = mysqli_query ($connection, $query);
echo '[';
while($row = mysqli_fetch_array ($result))
{
echo '{';
echo '"latitude":"'.$row['lat'].'",';
echo '"longitude":"'.$row['lng'].'",';
echo '"icon":'.'"./images/'.$row['busColor'].'.png"';
echo '}';
}
echo ']';
$jsonstring = json_encode($json);
echo $jsonstring;
die();
Run Code Online (Sandbox Code Playgroud)
它输出这个
[{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}][]
Run Code Online (Sandbox Code Playgroud)
但我想要这个
[{"latitude":"39.976257","longitude":"-83.003464","icon":"./images/pink.png"}]
Run Code Online (Sandbox Code Playgroud)
一旦我得到结果,我需要将对象传递给jQuery插件函数,如果这有任何区别
$.getJSON('myJsonURL, function(myMarkers){
$("#map").goMap({
markers: myMarkers
});
});
Run Code Online (Sandbox Code Playgroud)
谢谢
Rab*_*ire 23
我想这样做的正确方法是:
$json = array();
$result = mysqli_query ($connection, $query);
while($row = mysqli_fetch_array ($result))
{
$bus = array(
'latitude' => $row['lat'],
'longitude' => $row['lng'],
'icon' => './images/' . $row['busColor'] . '.png'
);
array_push($json, $bus);
}
$jsonstring = json_encode($json);
echo $jsonstring;
die();
Run Code Online (Sandbox Code Playgroud)
你手动输出你的json然后你在空数组()上调用json_encode - $ json
json_encode()输出[]你传递一个空数组,所以你的最后一个[]来自这里
编辑:更多关于json_encode json_encode php manual
$jsonstring = json_encode($json);
echo $jsonstring;
首先定义一个数组.
然后,您手动生成一些JSON.
然后,将数组转换为JSON并输出它.
用代码替换while循环边缘和边缘的所有echo语句,以生成包含数据的关联数组,然后将其插入到$ json中.
| 归档时间: |
|
| 查看次数: |
59085 次 |
| 最近记录: |