我有一段代码,它使用下面的代码从xml文件中获取信息:
if (file_exists('locations.xml')) {
$xml = simplexml_load_file('locations.xml');
$json = json_encode($xml);
print_r($json);
} else {
exit('Failed to open locations.xml.');
}
以下是xml页面的布局
<locations>
<location>
<id>12196</title>
<uid>010203</uid>
<lat>34.134103</lat>
<lng>-118.321694</lng>
</location>
<location>
这很好用,现在我要做的就是替换上面的代码直接从数据库中获取信息。并有以下代码:
$query = mysql_query("SELECT * FROM track ORDER BY id");
$rows = array();
while($row = mysql_fetch_assoc($query)) {
$rows[] = $row;
}
print json_encode($rows);
从数据库中检索信息时效果很好。但是我注意到,当我检索数据时,格式略有不同,例如。
使用第一种方法将位置放在结果前面,就像这样。
{"location":[{"id":"12196"
,第二种方法只返回这个,
[{"id":"12196","uid":"010203"
我已经尝试了几种方法来获取第二种格式以包含位置,但似乎无法使其工作。我认为我的其余代码使用location标记来分配信息。
任何建议都将不胜感激。
由于
答案 0 :(得分:3)
尝试
while($row = mysql_fetch_assoc($query)) {
$rows['location'][] = $row;
}
print json_encode($rows);