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