在表格中显示*

时间:2012-12-02 12:15:23

标签: php mysql

我有2张桌子。一个叫做用户&另一个叫电视节目。 users表有:users_id,displayname,username和password,我有一个名为users_id的外键,在电视节目表中我有tv_id,users_id FK,tvshow,seasons。我希望能够在users表中显示谁创建了displayname,而不是显示他被分配的数字ID。

2 个答案:

答案 0 :(得分: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>';

答案 1 :(得分:0)

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

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

根据您的表格结构,您可能希望使用LEFT JOIN代替...

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

我认为你需要了解一些SQL教程来了解连接,分组等。SQL tutorial of W3C是一个很好的起点。