繁体   English   中英

显示具有一对多关系的 php mysqli 查询结果

[英]Displaying php mysqli query result with one to many relationship

当前的:

过程 技能
过程A 技能_1
过程A 技能_2
过程A 技能_3
工艺 B 技能_1
工艺 B 技能_2

预期结果:

过程 技能
过程A 技能_1、技能_2、技能_3
工艺 B 技能_1、技能_2

样品 SQL:

SELECT p.pid,
 p.process,
 p.product_id,
 p.sr_id,
 sr.pid,
 sr.process_id,
 sr.skill_req,
 sr.availability
 FROM p
 JOIN sr
 ON  p.pid= sr.pid
 WHERE p.product_id= '20'

需要帮助如何重新排列我的一对多关系表。 尝试使用数组 "$array= array($row['skill_req']) " 但无法识别 Skill_req 变量。

您正在寻找GROUP BYGROUP_CONCAT

对于您的请求,请从以下内容开始,然后查看 go 的位置:

SELECT p.pid,
 p.process,
 GROUP_CONCAT(sr.skill_req),
 FROM p
 JOIN sr
 ON  p.pid= sr.pid
 WHERE p.product_id= '20'
 GROUP BY p.process

请注意,SQL 将始终为您提供一个二维数组,永远不会多,永远不会少。 这意味着您作为查询结果可视化的单元格不能包含数组。 充其量,您将拥有逗号分隔的值,您可以将其转换为 PHP 端的数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM