
分组分类查询输出 json
问题:
如何根据 sql 中分组后的数据生成 json 输出?本文将以一个实际示例展示如何实现这一操作。
假设数据库结构:
分类表(class):
详情表(detail):
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
目标:
根据分类,将 detail 表中的数据按照以下 json 结构输出:
{
"data": [
{
"name": "分类名称",
"list": [
{
"wid": "单词 id",
"simplew": "简单单词",
"detailw": "详细信息"
}
]
}
]
}解决方案:
<?php
// 初始化 JSON 响应
$response = [
'code' => 0,
'msg' => 'ok',
'data' => [],
];
// 暂存查询结果
$result = [];
// 查询分类
$queryClass = mysqli_query($conn, "SELECT cid, cname FROM class WHERE uid = 'common'");
while ($rclass = mysqli_fetch_array($queryClass)) {
// 创建新的分类项
$item = [];
$item['name'] = $rclass['cname'];
// 查询分类下的详情
$queryDetail = mysqli_query($conn, "SELECT wid, simpleW, detailW FROM detail WHERE uid = 'common' AND cid = " . $rclass['cid']);
while ($rdetail = mysqli_fetch_array($queryDetail)) {
// 将详情添加到分类项的列表中
$item['list'][] = [
'wid' => $rdetail['wid'],
'simpleW' => $rdetail['simpleW'],
'detailW' => $rdetail['detailW'],
];
}
// 将分类项添加到结果中
$result[] = $item;
}
// 将结果赋值到 JSON 响应中
$response['data'] = $result;
// 设置响应头
header('Content-Type: application/json');
// 输出 JSON 响应
echo json_encode($response, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
die();对比:
与原来的 echo 输出方式相比,主要的修改点在于:
以上就是SQL分组数据如何生成JSON格式输出?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号