不能显示头像- PHP, MySQL


Can't display avatar - PHP, MySQL

我创建了一个私人消息系统,我试图为接收消息的人显示头像,但不是为接收者获取头像,而是试图为登录用户获取图像。

对于图像源,化身存储在名为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")。