0

我有 2 张桌子。一个叫用户,另一个叫电视节目。users 表有:users_id、displayname、用户名和密码,我有一个名为 users_id 的外键,在电视节目表中我有 tv_id、users_id FK、tvshow、seasons。我希望能够从 users 表中显示谁创建了它的显示名称,而不是显示分配给他的数字 id。

4

2 回答 2

2

使用以下 SQL 查询来获取有关用户的信息:

SELECT          users.username,
                tv_shows.*
    FROM        tv_shows
    LEFT JOIN   users
    ON          users.users_id = tv_shows.user_id

然后使用以下 PHP 代码段显示有关用户的信息:

 echo '<td>'.
      '<a href="users.php?username='.
      $row['username'].
      '">'.
      $row['username'].
      '</a></td>';
于 2012-12-02T12:18:09.163 回答
0

由于您的 tv_shows 表没有名为“用户名”的列,因此它显然不起作用。因此,您需要获取要与 SQL 语句一起使用的所有字段:

SELECT tv_shows.*, users.username
  FROM tv_shows
  JOIN users ON users.user_id = tv_shows.user_id

根据您的表结构,您可能想要使用LEFT JOIN...

然后您可以$row['username']在您的 PHP 代码中使用,因为您之前使用 SQL 获取它。

而且我认为你需要复习一些 SQL 教程来学习连接、分组等。W3C 的 SQL 教程是一个很好的起点。

于 2012-12-02T12:23:55.983 回答