0

基本上,我正在制作一张表格,输出已被禁止的人。到目前为止,我已经用 MySQLi 完成了所有工作,只是没有显示实际名称,而是显示了玩家 ID。我遇到了麻烦,因为玩家 ID 存储在单独的表中。

http://i.stack.imgur.com/sy6G9.png

这张图是主表的结构,注意player_id和creator_id?我需要做的是匹配 ID 并相应地用下面显示的另一个表中的“名称”行替换数字 http://i.stack.imgur.com/Lm3Fg.png

如果你能帮助我,我将不胜感激。

4

2 回答 2

2
SELECT * FROM TableA, TableB
INNER JOIN TableB
ON TableA.id = TableB.player_id
于 2013-10-04T16:06:28.740 回答
1

此查询只会显示被禁止玩家的姓名:

SELECT name FROM banned_table INNER JOIN name_table ON player_id=name_table.id 

当然,您需要更改数据库banned_tablename_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>';
于 2013-10-04T16:05:03.667 回答