基本上,我正在制作一张桌子,输出被禁止的人。到目前为止,我已经完成了MySQLi所做的一切,而不是显示它显示玩家ID的实际名称。我遇到了麻烦,因为玩家ID存储在一个单独的表中。
http://i.stack.imgur.com/sy6G9.png
这张图是主表的结构,请注意player_id和creator_id?我要做的是匹配ID,并从下面显示的另一个表中相应地用“name”行替换该号码 http://i.stack.imgur.com/Lm3Fg.png
如果你能帮助我,我会非常感激。
答案 0 :(得分:2)
SELECT * FROM TableA, TableB
INNER JOIN TableB
ON TableA.id = TableB.player_id
答案 1 :(得分:1)
此查询只会显示被禁玩家的名字:
SELECT name FROM banned_table INNER JOIN name_table ON player_id=name_table.id
当然,您需要将banned_table
和name_table
更改为数据库中的实际表名。
更新: 从下面的评论中,这是OP的解决方案
SELECT b.*,n.name as player, n2.name as admin FROM banhammer_bans b
JOIN name_table n ON b.player_id=n.id
JOIN name_table n2 ON b.creator_id=n2.id
ORDER BY b.created_at DESC
并更改显示代码:
echo'<td>' . $row['player_id'] . '</td>';
echo'<td>' . $row['creator_id'] . '</td>';
要成为:
echo'<td>' . $row['player'] . '</td>';
echo'<td>' . $row['admin'] . '</td>';