无法显示头像 - PHP,MySQL

时间:2016-10-20 16:07:41

标签: 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;

1 个答案:

答案 0 :(得分:3)

那么,这个PHP应该会产生接收者的头像?

在这里查看SQL:

INNER JOIN pm ON users.username = pm.sender 

尝试改为:

INNER JOIN pm ON users.username = pm.receiver

(当然,假设该列名为&#34;接收器&#34;在您的架构中)。