2014-01-14 6 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); 
?> 

Так что я хочу сделать, это получить username от Users table с помощью user_id из Comments table

Может кто-то показать мне, как получить их и как эхо их, пожалуйста.

+2

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

+0

^... и '' FABULOUS '' один на этом. –

+0

В то время как ответ Марка В можно было прочитать как слегка абразивный, он прав на деньги. Вы должны изучить несколько вещей о 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" 

Это должно работать.

Смежные вопросы