当查询结果不是当前用户时,如何在查询结果中动态返回用户名?

时间:2014-07-25 23:43:54

标签: php mysql wordpress

我有一个脚本在下面正常工作,用于返回并在表格中显示结果(使用mysql和wordpress),但是当我到达这里时,我已经到达了一个我知道会很棘手的点。我可以轻松获取当前用户名,但我不知道如何从另一个表中动态获取另一个用户(非当前用户)的名称以显示记录。所以我有一张桌子"电影"并且所有信息都在这里,除了用户名,它们存储在users表中。我在电影中有一个ID列,可以连接到用户的ID。如何连接它以显示每条记录的用户名?

示例/澄清: 下面的查询将显示用户观看并以3列显示的所有电影。第3栏是本网站上的用户最后一次观看该电影。如何从另一个表中提取该用户的名称并在为查询返回的记录中回显它,如下面针对其他列所做的那样?请参阅??????

指示的代码中的占位符
<?php 
global $wpdb;
?>
Movies : <?php
$results = $wpdb->get_results("SELECT * FROM movies where movies.current = 1");

if ($results) {
echo '<table>';
echo '<tr>';
echo '<td><b>Movie Name</b></td>';
echo '<td><b>Genre</b></td>';
echo '<td><b>Last User on this Website to See</b></td>';
echo '</tr>';
foreach ($results as $row) {
// Each $row is a row from the query
echo '<tr>';
echo '<td>' . $row->movie_name; '</td>';
echo '<td>' . $row->genre; '</td>';
echo '<td>' . $row-> ??? how get username (Not current user) from users table ?? '</td>';
echo '</tr>';
}
echo '</table>';
}
?>

1 个答案:

答案 0 :(得分:0)

使用您的用户表进行简单的连接查询

$results = $wpdb->get_results("SELECT m.*,u.username FROM movies m
join users u on(m.user_id = u.id)
 where m.current = 1");

并在循环中,您在$row->username

中拥有用户名