首先,我不确定如何说出这个标题。所以我有两张桌子(英雄和记录)。在users表中,我分隔了名字和姓氏。在记录表中,我可以有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加入JOIN的正确方法。
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>
答案 0 :(得分:0)
MYSQL记录表:
id | badguy | hero1id |
1 | Green Goblin | 1 |
2 | Doc Oc | 1 |
3 | Doc Oc | 2 |
通过使用此结构,您可以添加无限数量的用户。请遵循此表结构。
答案 1 :(得分:0)
您可以使用以下sql。但我仍然建议按照别人的建议组合hero1id和hero2id。
SELECT records.badguy,GROUP_CONCAT(CONCAT(firstname,'',lastname)SEPARATOR'和')AS herosname FROM记录 INNER JOIN英雄 ON records.hero1id = heros.id OR records.hero2id = heros.id GROUP BY badguy