用php自动生成json文件
我正在尝试让一个播放列表json文件生成器为我的Raspberry Pi上的一个小图片幻灯片项目工作 如何使用php以这种格式创建json文件 这是我的PHP代码:用php自动生成json文件,php,json,Php,Json,我正在尝试让一个播放列表json文件生成器为我的Raspberry Pi上的一个小图片幻灯片项目工作 如何使用php以这种格式创建json文件 这是我的PHP代码: function json_read() { $link = connect(); $i = 0; $string = "SELECT * FROM Playlist, Bild WHERE Playlist.Bild_idBild = Bild.idBild"; $result = mysqli_query($
function json_read() {
$link = connect();
$i = 0;
$string = "SELECT * FROM Playlist, Bild WHERE Playlist.Bild_idBild = Bild.idBild";
$result = mysqli_query($link, $string);
while ($row = mysql_fetch_array($result)){
$i[] = array(
'file' => $row['Bild.dateiname'],
'duration' => $row['Playlist.zeit'],
);
$i++;
}
$data = array(
'playlist' => $i
);
echo json_encode($data);
disconnect();
}
它应该是什么样子的:
{
"playlist": [
{
"file": "001.jpg",
"duration": 5
},
{
"file": "002.jpg",
"duration": 5
},
{
"file": "003.jpg",
"duration": 10
},
{
"file": "004.jpg",
"duration": 5
},
{
"file": "005.jpg",
"duration": 10
},
{
"file": "006.jpg",
"duration": 5
}
]
}您的代码非常混乱 您正在递增数组名称 与此代码不同的是:
while ($row = mysql_fetch_array($result)){
$i[] = array(
'file' => $row['Bild.dateiname'],
'duration' => $row['Playlist.zeit'],
);
$i++;
}
使用以下命令:
$arr = array();
while ($row = mysql_fetch_array($result)){
$temp['file'] = $row['Bild.dateiname'];
$temp['duration'] = $row['Playlist.zeit'];
$arr['playlist'][$i] = $temp;
$i++;
}
echo json_encode($arr);
不是-在这种情况下不要使用增量变量
需要给出变量语义的名称:
$i$playlist
function json_read() { $link = connect();
$string = "SELECT * FROM Playlist, Bild WHERE Playlist.Bild_idBild = Bild.idBild";
$result = mysqli_query($link, $string);
// create container for playlist elements
$playlist = array();
while ($row = mysql_fetch_array($result)){
// add new element onto the end container
$playlist[] = array(
'file' => $row['Bild.dateiname'],
'duration' => $row['Playlist.zeit'],
);
}
$data = array(
'playlist' => $playlist
);
echo json_encode($data);
disconnect();
}