所以,你需要的是一對JOIN
S(隱含INNER JOIN
)對users
,一個在跟隨加入,一個在隨後加入。
SELECT
/* Rather than SELECT * you need to be specific about the columns, and
give them aliases like followed_name since you have 2 tables with the same
column names in the query */
ufollower.id AS follower_id,
ufollower.username AS follower_name,
ufollowed.id AS followed_id,
ufollowed.username AS followed_name
FROM
/* JOIN twice against users, once to get the follower and once to get the followed */
user_follow
/* users aliased as ufollower to get the follower details */
JOIN users ufollower ON ufollower.id = user_follow.follower
/* users aliased as ufollowed to get the followed details */
JOIN users ufollowed ON ufollowed.id = user_follow.followed
WHERE
user_follow.follower = $p_id
在您的循環中,名稱可在follower_name, followed_name
中找到。
while($apple = mysql_fetch_array($following)){
// Be sure to wrap the name in htmlspecialchars() to encode characters that could break html.
// This has the followed id in the href and the followed name in the link text...
echo '<a href="'.$apple['followed_id'].'">+'.htmlspecialchars($apple['followed_name']) .'</a> ';
}
老'的mysql _ *()'函數計劃棄用,不應該在新的代碼中使用。相反,可以考慮轉向支持準備語句的新API,例如[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/) EN/book.pdo.php)。 –