我正在尝试从MySQL表中获取数据并以下面的格式创建JSON输出。
{
"count": 1,
"results": [
{
"user_id": 1,
"login_name": "testname"
}
}
]
}
这是我用来生成JSON的PHP
$user = "1";
$query = $db->prepare("SELECT
c.user_update,
c.id
FROM (SELECT * FROM myupdates ) AS c
ORDER BY c.id DESC ");
$query->bindValue(':user_id', $user, PDO::PARAM_STR);
try {
$query->execute();
$rows = array();
while ($data = $query->fetch(PDO::FETCH_ASSOC)) {
$rows[] = $data;
}
echo "<pre>".json_encode($rows, JSON_PRETTY_PRINT);
exit();
} catch (PDOException $e) {
echo $error;
exit();
}
以下是我使用上述代码获得的输出:
[
{
"user_id": 1,
"login_name": "testname"
}
}
]
我需要的是输出计数(“count”:1)以及JSON的其余部分。
答案 0 :(得分:1)
您需要将$rows
数组添加为另一个数组的元素,以及包含该计数的元素。
这应该产生所需的输出:
//Wrap results in another array
$return_array = array(
'count' => count($rows),
'results' => $rows
);
//Print it
echo json_encode($return_array, JSON_PRETTY_PRINT);