我创建了一个私人消息系统,我试图为接收消息的人显示头像,但不是为接收者获取头像,而是试图为登录用户获取图像。
对于图像源,化身存储在名为user
的文件夹中。文件夹的布局为user/username/avatar。然而,当实现时,打开正确的用户文件夹,但它搜索登录用户的头像。
还有一件事要注意。由于某种原因,显示了sender
(父消息)的头像,但没有显示接收者。
这是我的PHP。
$sql = "
SELECT * FROM users
INNER JOIN pm ON users.username = pm.sender
WHERE (
receiver='$logged_in_user'
AND parent='x' AND rdelete='0'
)
OR (
sender='$logged_in_user'
AND sdelete='0' AND parent='x'
)
ORDER BY senttime DESC";
$query = mysqli_query($db, $sql);
$statusnumrows = mysqli_num_rows($query);
if($statusnumrows > 0){
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
//assigning variables
$avatar = $row["avatar"];
$sender = $row["sender"];
$receiver = $row["receiver"];
if($parent == "x" && $sender == $logged_in_user){
$profile_pic = '<img src="user/'.$receiver.'/'.$avatar.'" alt="'.$receiver.'">';
}
}
}
echo $profile_pic;
那么,这个PHP应该产生接收者的头像吗?
看这里的SQL:
INNER JOIN pm ON users.username = pm.sender
试试相反:
INNER JOIN pm ON users.username = pm.receiver
(当然假设该列在模式中名为"receiver")。