如何使用PHP和SQL实现分组查询并以JSON格式输出结果?
使用 php sql 对数据进行分组查询,并以 json 格式输出结果
问题
如何利用 php sql 对数据库中的数据进行分组查询,并将其输出为 json 格式?
解决方案
立即学习“PHP免费学习笔记(深入)”;
1. 首先,使用 mysqli_query() 方法查询数据库
$queryclass = mysqli_query($conn, "select cid, cname from class_wtool where uid = 'common'");
2. 遍历分类结果,并创建 json 数据结构
$result = [];while ($rclass = mysqli_fetch_array($queryclass)) { $item = []; // 创建一个空数组来存储分类信息 $item['name'] = $rclass['cname']; // 设置分类名称 $item['list'] = []; // 创建一个空数组来存储详情信息 $querydetail = mysqli_query($conn, "select wid, simplew, detailw from word_wtool where uid = 'common' and cid = " . $rclass['cid']); while ($rdetail = mysqli_fetch_array($querydetail)) { $detailitem = [ 'wid' => $rdetail['wid'], 'simplew' => $rdetail['simplew'], 'detailw' => $rdetail['detailw'] ]; $item['list'][] = $detailitem; // 将详情信息添加到数组中 } $result[] = $item; // 将分类信息添加到结果数组中}
3. 将结果数组转为 json
header('content-type: application/json');echo json_encode($result, json_unescaped_slashes | json_unescaped_unicode);die(); // 退出脚本
最终结果示例:
{ "data": [ { "name": "分类 1", "list": [ { "wid": 1, "simpleW": "简介1", "detailW": "详情1" }, { "wid": 2, "simpleW": "简介2", "detailW": "详情2" } ] } ]}