列出所有评论并获取PHP中另一个表作者的用户名


List all comments and get the username of the author of another table in PHP

我正在给学生系统添加一个反馈系统,这个想法是老师可以访问学生列表并可以对该学生发表评论。

表大师:

id
username
表评论:

id
id_master
id_student
text

然后我去student.php?id=1显示表comments中的所有结果:

<?php
// See comments student
function SeeComments($id) { 
 $db = DB::getInstance();
 $query = $db->query("SELECT * FROM comments WHERE id_student = ?", array($id));
 $results = $query->results();
 return ($results);
}
$id = $_GET['id'];
$Data = SeeComments($id);
foreach ($Data as $v1) {
 echo "<b>Username - Text</b><br>";
 echo $v1->id_master." - ".$v1->text."<br>";
 echo "---------------------<br>";
}
?>

因为我可以得到表mastersusername来显示结果而不是id,如:

echo $v1->username." - ".$v1->text."<br>";

可以通过内部连接从masters表中获取相关数据。

$query = $db->query("SELECT comments.*, masters.username 
    FROM comments 
    INNER JOIN masters ON comments.id_master = masters.id 
    WHERE comments.id_student = ?", array($id));

现在您应该能够通过:$v1->username获得用户名。

你可以在这里阅读更多关于内部连接的信息:http://www.w3schools.com/sql/sql_join_inner.asp