[英]PHP - Multiple Table Row Fields JOINed to Single Table
首先,我不确定该标题的确切措辞。 所以我有两个表(英雄和记录)。 在用户表中,我将名字和姓氏分开。 在记录表中,我可以拥有1到2个用户。 如何在同一张表上进行联接? PS。 我想将此显示在桌子上。
MYSQL heros table:
id|firstname|lastname
1 |Peter |Parker
2 |Mary |Jane
MYSQL records table:
id|badguy |hero1id|hero2id
1 |Green Goblin|1 |
2 |Doc Oc |1 |2
我想在表格中显示上述信息(这将使用html,css等)。 我知道该怎么做,我只是不知道使用php加入的正确方法。
Displayed table:
Heros & Bad Guys
Green Goblin | Peter Parker
Doc Oc | Peter Parker and Mary Jane
PHP代码://创建查询-记录
$query = "SELECT records.*, heros.firstname, heros.lastname FROM records
INNER JOIN heros
ON records.hero1id = heros.id";
//运行查询
$records = $db->select($query);
现在,我使用以下代码来显示其中一个名称,如何显示另一个名称而不引起干扰?
<td><?php echo $row['badguy']; ?></td>
<td><?php echo $row['firstname']; ?> <?php echo $row['lastname']; ?></td>
MYSQL记录表:
id | badguy | hero1id |
1 |绿色妖精| 1 |
2 | Doc Oc | 1 |
3 | Doc Oc | 2 |
通过使用此结构,您可以添加无限数量的用户。请遵循此表结构。
您可以使用以下sql。 但是我还是建议结合其他人的建议将hero1id和hero2id结合起来。
SELECT records.badguy,GROUP_CONCAT(CONCAT(firstname,'',lastname)SEPARATOR'和')AS heroesname FROM records INNER JOIN heroes on records.hero1id = heros.id或records.hero2id = heros.id GROUP BY badguy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.