按ID获取用户名

时间:2014-01-14 15:06:45

标签: php mysqli

有人可以帮助我,因为我是PHP和MYSQLI的新手

我试图为下面的电影页面示例制作评论系统

数据库结构

评论表

id          int(11)         No  None    AUTO_INCREMENT  
movie_id    int(11)         No  None        
user_id     int(11)         No  None        
message     varchar(1000)   No  None        
timestamp   timestamp       No  CURRENT_TIMESTAMP

用户表

id          int(50)         No  None    AUTO_INCREMENT  
username    varchar(50)     No  None
email       varchar(100)    No  None        
group       varchar(20)     No  None        
password    varchar(20)     No  None

PHP代码

<?php
$comments = mysqli_query($con,"SELECT * FROM `comments` ORDER BY `timestamp` DESC");
while($comment = mysqli_fetch_array($comments)) {
?>

<a href="www.mysite.com/movie.php?id=<?php echo $comment['movie_id']; ?>"><?php echo $comment['message']; ?></a>

<?php 
} 
mysqli_close($con);
?>

所以我要做的是使用username

中的Users tableuser_id获取Comments table

有人可以告诉我如何获取它们以及如何回应它们。

2 个答案:

答案 0 :(得分:1)

SELECT * FROM
    `comments` c
JOIN `users` u
    ON c.user_id = u.id
ORDER BY `timestamp` DESC

在你的while循环中,用户名将以$ comment ['username']的形式提供。 您可以在此处找到有关mysql join的更多信息:http://dev.mysql.com/doc/refman/5.0/en/join.html

答案 1 :(得分:0)

简单方法:

"SELECT * FROM users,comments WHERE users.id=comments.id ORDER BY timestamp DESC"

这应该有效。