php中文网

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

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

以上就是如何使用PHP和SQL实现分组查询并以JSON格式输出结果?的详细内容,更多请关注php中文网其它相关文章!