PHP MySQL JSON输出
我正在尝试从MySQL表中获取数据,并以以下格式创建JSON输出PHP MySQL JSON输出,php,mysql,google-maps-api-3,json,Php,Mysql,Google Maps Api 3,Json,我正在尝试从MySQL表中获取数据,并以以下格式创建JSON输出 { markers: [ { latitude: 57.7973333, longitude: 12.0502107, title: "Angered", content: "Representing :)" }, { latitude: 57.6969943, longitude: 11.9865,
{
markers: [
{
latitude: 57.7973333,
longitude: 12.0502107,
title: "Angered",
content: "Representing :)"
},
{
latitude: 57.6969943,
longitude: 11.9865,
title: "Gothenburg",
content: "Swedens second largest city"
}
]
}
下面是我用来生成JSON的PHP
$model = array();
$query = "SELECT title, content, lat, lng FROM locations_tbl";
//Get records from database
$result = mysql_query($query, $con);
if(mysql_num_rows($result)) {
while($e = mysql_fetch_assoc($result)) {
$model['title'][] = $e['title'];
$model['content'][] = $e['content'];
$model['lat'][] = $e['lat'];
$model['lng'][] = $e['lng'];
}
}
header('Content-type: application/json');
print json_encode(array('marker'=>$model));
下面是我使用上述代码得到的输出:
{
marker: {
title: [
"Marker 1",
"Marker 2",
"Marker 3",
"Marker 4",
"Marker 5"
],
content: [
"Text 1",
"Text 2",
"Text 3",
"Text 4",
"Text 5"
],
lat: [
"46.99065400",
"47.03520400",
"47.20387700",
"47.62574900",
"47.43443400"
],
lng: [
"-122.92164800",
"-122.81614600",
"-122.24486400",
"-122.14453800",
"-122.46088200"
]
}
}
有什么建议吗?试试这个
$i = 0;
while($e = mysql_fetch_assoc($result)) {
$model[$i]['title'] = $e['title'];
$model[$i]['content'] = $e['content'];
$model[$i]['lat'] = $e['lat'];
$model[$i]['lng'] = $e['lng'];
$i++;
}
我希望这会有帮助试试这个
$i = 0;
while($e = mysql_fetch_assoc($result)) {
$model[$i]['title'] = $e['title'];
$model[$i]['content'] = $e['content'];
$model[$i]['lat'] = $e['lat'];
$model[$i]['lng'] = $e['lng'];
$i++;
}
我希望这将有助于您永远不会为每个标记创建新数组:
$model = array("markers" => array());
if(mysql_num_rows($result)) {
while($e = mysql_fetch_assoc($result)) {
$marker = array();
$marker['title'] = $e['title'];
$marker['content'] = $e['content'];
$marker['lat'] = $e['lat'];
$marker['lng'] = $e['lng'];
$model["markers"][] = $marker;
}
}
实际上,您从未为每个标记创建新数组:
$model = array("markers" => array());
if(mysql_num_rows($result)) {
while($e = mysql_fetch_assoc($result)) {
$marker = array();
$marker['title'] = $e['title'];
$marker['content'] = $e['content'];
$marker['lat'] = $e['lat'];
$marker['lng'] = $e['lng'];
$model["markers"][] = $marker;
}
}
创建如下数组:
$i = 0;
while($e = mysql_fetch_assoc($result)) {
$model[$i]['title'] = $e['title'];
$model[$i]['content'] = $e['content'];
$model[$i]['lat'] = $e['lat'];
$model[$i]['lng'] = $e['lng'];
$i++;
}
创建如下数组:
$i = 0;
while($e = mysql_fetch_assoc($result)) {
$model[$i]['title'] = $e['title'];
$model[$i]['content'] = $e['content'];
$model[$i]['lat'] = $e['lat'];
$model[$i]['lng'] = $e['lng'];
$i++;
}
@user2495292您的JSON无效,您可以使用此验证器查看有效性我更正了您的JSON,检查这是否是正确的JSON@user2495292您的JSON无效,您可以使用此验证器查看有效性我更正了您的JSON,检查这是否是正确的JSON?谢谢你把它修好了!谢谢你把它修好了!