首页 / JSON / PHP MySQL连接表作为JSON
PHP MySQL连接表作为JSON
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP MySQL连接表作为JSON,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1407字,纯文字阅读大概需要3分钟。
内容图文
![PHP MySQL连接表作为JSON](/upload/InfoBanner/zyjiaocheng/902/4158e66f31dc474faa9a66cf4226a1e9.jpg)
参见英文答案 > How create json format with group-concat mysql? 6个
我有两个不同的表 – 一个称为“产品”,其中包含有关在线商店的产品信息,另一个称为“图像”,其中包含相应的产品图像(每个产品有几个图像).
我想在主表“products”上加入表“images”,并以JSON格式输出结果.
表“产品”如下所示(简化):
id | name
----|--------
57 | apple
58 | tomato
59 | ...
并且产品图像的表格“图像”:
img_id | img | p_id |?listorder
-------|-------------|------|----------
32 | apple1.jpg | 57 | 1
33 | apple2.jpg | 57 | 2
34 | tomato1.jpg | 58 | 1
35 | ... | ... |?...
到现在为止,我的查询是这样的:
$sql = "SELECT
p.id as p_id,
p.name as p_name,
i.*
FROM products p
JOIN (SELECT * FROM images WHERE listorder=1)
AS i ON (i.p_id = p.id)";
因此输出(在将数据提取到数组并转换为JSON之后)看起来像这样:
[{
"id": "57",
"name": "apple",
"img": "apple1.jpg"
}, {
"id": "58",
"name": "tomato",
"img": "tomato1.jpg"
}]
所以我的问题是:我如何输出以下内容?
[{
"id": "57",
"name": "apple",
"img": [{"img_id": "32","img": "apple1.jpg"}, {"img_id": "33","img": "apple2.jpg"}]
}, {
"id": "58",
"name": "tomato",
"img": [{"img_id": "34","img": "tomato1.jpg"}]
}]
解决方法:
SELECT
p.id as p_id,
p.name as p_name,
group_concat(concat('{"img_id":"',i.img_id,'"img":"',i.img,'"}') separator ',') as img
FROM products p
JOIN (SELECT * FROM images WHERE listorder=1)
AS i ON (i.p_id = p.id)
GROUP BY p.id,p.name
内容总结
以上是互联网集市为您收集整理的PHP MySQL连接表作为JSON全部内容,希望文章能够帮你解决PHP MySQL连接表作为JSON所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。