分组分类查询输出 json
问题:
如何根据 sql 中分组后的数据生成 json 输出?本文将以一个实际示例展示如何实现这一操作。
假设数据库结构:
-
分类表(class):
- cid(主键)
- cname(分类名称)
-
详情表(detail):
- did(主键)
- cid(分类 id)
- simplew(简单单词)
- detailw(详细信息)
- uid(用户 id)
目标:
根据分类,将 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 输出方式相比,主要的修改点在于:
- 将 echo 输出的内容转为数组存储。
- 初始化一个数组 $result 来存放分类结果。
- 为每个分类创建一个 $item 数组,包含 name 和 list 字段。
- 遍历详情结果,将详情添加到每个分类的 list 数组中。
- 最后,将 $result 数组赋值给 json 响应中的 data 字段。
- 设置响应头为 json 类型。
- 使用 json_encode 将数组转为 json 字符串并输出。
以上就是SQL分组数据如何生成JSON格式输出?的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » SQL分组数据如何生成JSON格式输出?
发表评论 取消回复