@H_404_1@为了便于解释,我将尝试简化一切.
@H_404_1@我有3个sql表:Users,Certs,Serv
@H_404_1@在Users表中存储有关唯一用户的详细信息.
@H_404_1@在Certs表中存储有关证书的详细信息和拥有此证书的用户的UserId(1个用户可以拥有多个证书)
@H_404_1@在Serv表中存储有关海上服务和用户的UserId的详细信息(如Certs表,1个用户可以在Serv表中有多个条目)
@H_404_1@样本数据
@H_404_1@用户
@H_404_1@
PHP echo $certId; ?>UserId Name
1 John
2 Lisa
@H_404_1@证书
@H_404_1@
Id UserId CertName
1 1 A
2 1 B
3 1 C
4 2 A
5 2 C
@H_404_1@SERV
@H_404_1@
UserId Name
1 SA
1 SB
1 SC
1 SD
2 S2A
@H_404_1@我需要通过PHP检索输出(例如UserId = 1)同样对于现实,每个表中会有更多列(例如证书的更多细节,如发布日期,到期日期,发布地点等):
@H_404_1@
Personal details:
Name
John
Certificates:
Certificate Id Certificate Name
1 A
2 B
3 C
Sea Services:
Sea Service Name
SA
SB
SC
SD
@H_404_1@但是我得到错误的输出,重复的条目,因为用UserId连接2个表,其中UserId是多个记录的UserId.
@H_404_1@PHP代码
@H_404_1@
$users = $con->prepare("
select u.Name,GROUP_CONCAT(c.Id SEPARATOR '
PHP
while ($users->fetch()) {
?>
PHP echo $userName; ?>