Я использую плагин jQuery Upload File и пытаюсь интегрировать в него базу данных. Мне нужно вывести правильный ответ в формате json:
{"files": [
{
"id": 1,
"name": "picture1.jpg"},
{
"id": 2,
"name": "picture2.jpg"}
]}
Что имею на данный момент:
[
{
"id": 1,
"name": "picture1.jpg"},
"id": 2,
"name": "picture2.jpg"}
]
Мой php файл выглядит так:
$files= array();
$db = new DB;
$query = $db->get_rows("SELECT * FROM `files` ORDER BY `name`");
foreach ($query as $row) {
$file = new stdClass();
$file->id = $row->id;
$file->name = $row->name;
array_push($files,$file);
}
header('Content-type: application/json');
echo json_encode($files);
$files= array();
$db = new DB;
$query = $db->get_rows("SELECT * FROM `files` ORDER BY `name`");
foreach ($query as $row) {
$file = new stdClass();
$file->id = $row->id;
$file->name = $row->name;
array_push($files,$file);
}
header('Content-type: application/json');
echo json_encode(array('files' => $files));
$t = '[{"id": 1, "name": "picture1.jpg"}, {"id": 2, "name": "picture2.jpg"}]';
$t = json_decode($t, true);
$t = array("files" => $t);
echo json_encode($t);
Выход:
{"files":[{"id":1,"name":"picture1.jpg"},{"id":2,"name":"picture2.jpg"}]}
Или с вашим кодом просто сделайте:
$files= array();
$db = new DB;
$query = $db->get_rows("SELECT * FROM `files` ORDER BY `name`");
foreach ($query as $row) {
$file = new stdClass();
$file->id = $row->id;
$file->name = $row->name;
array_push($files,$file);
}
header('Content-type: application/json');
echo json_encode(array("files" => $files));