PHP前端开发

如何使用PHP和SQL实现分组查询并以JSON格式输出结果?

百变鹏仔 3天前 #PHP
文章标签 并以

使用 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"                }            ]        }    ]}