我已经创建了一个私人消息系统,我正在尝试显示接收消息的人的头像,但是它没有获取接收者的头像,而是试图获取登录用户的图像。
对于图像源,头像存储在名为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;
答案 0 :(得分:3)
那么,这个PHP应该会产生接收者的头像?
在这里查看SQL:
INNER JOIN pm ON users.username = pm.sender
尝试改为:
INNER JOIN pm ON users.username = pm.receiver
(当然,假设该列名为&#34;接收器&#34;在您的架构中)。