2014-01-14 122 views
-1

有人能幫助我,因爲我是新來的PHP和mysqli的獲取用戶名按ID

我試圖做一個評論系統爲我的電影頁面下面的例子

數據庫結構

評論表

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); 
?> 

所以我想要做的就是從Comments table

使用user_id得到Users tableusername有人能告訴我如何讓他們怎麼來呼應他們請。

+2

RTFM:http://en.wikipedia.org/wiki/Join_%28SQL%29 –

+0

^...和一個「FABULOUS」'在那。 –

+0

雖然馬克B的迴應可能被認爲是有點磨損,他是對的錢。如果你打算使用SQL數據庫,你應該學習一些關於SQL的知識。加入不是靠牆的頭,很難弄清楚事情(至少不是以最基本的形式,如這裏所要求的)。你正在努力做一些特別的事情,同時避免建立基本的理解。學習需要時間。不要試圖快速追蹤你的應用程序 - 你會討厭以後嘗試維護和調試的生活。 –

回答

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

在您的while循環中,用戶名將以$ comment ['username']的形式提供。 你可以找到更多關於MySQL的加入這裏:http://dev.mysql.com/doc/refman/5.0/en/join.html

0

簡單的方法:

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

這應該工作。