我正在使用JSON_encode将数据发送到轨道的js文件。用户可以有一个或多个轨道,这就是问题所在。不知道如何组织我的数组以允许多个数组。我不能在数组中使用数组,因为所有的JSON数据都需要分开,因此会有类似的东西;
track1 {ID:110232....}
track2 {ID:21402....}
如果只有一首曲目,我现在的工作正常。
$ID = $_GET['ID'];
$result = mysql_query("SELECT * FROM tracks WHERE ID = '$ID' ORDER BY timestamp DESC");
while($row = mysql_fetch_array($result)){
$T_ID = $row['T_ID'];
$T_url = $row['url'];
$T_name = $row['name'];
$T_timestamp = $row['timestamp'];
$arr = array('T_ID' => $ID,'T_name' => $T_name, 'T_url' => $T_url, 'T_timestamp' => $T_timestamp );
echo json_encode($arr);
}
答案 0 :(得分:4)
为什么不能在容器数组中使用(关联)数组,如下所示:
$cont = array();
while($row = mysql_fetch_array($result)){
$T_ID = $row['T_ID'];
$T_url = $row['url'];
$T_name = $row['name'];
$T_timestamp = $row['timestamp'];
$arr = array('T_ID' => $ID,'T_name' => $T_name, 'T_url' => $T_url, 'T_timestamp' => $T_timestamp );
$cont[] = $arr;
}
echo json_encode($cont);
这会产生这样的JSON结构,它将所有轨道保存在不同的对象中:
[
{'T_ID': 1, 'T_name': 1, ... },
{'T_ID': 2, 'T_name': 2, ... },
{'T_ID': 3, 'T_name': 3, ... },
...
]