【发布时间】:2016-10-20 16:07:40
【问题描述】:
我已经创建了一个私人消息系统,我正在尝试为接收消息的人显示头像,但不是为接收者获取头像,而是尝试为登录用户获取图像。
对于图像源,头像存储在名为user 的文件夹中。文件夹的布局是用户/用户名/头像。但是,在实现时,会打开正确的用户文件夹,但它会搜索已登录用户的头像。
另外,还有一点需要注意。由于某种原因,显示了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;
【问题讨论】:
-
您在 where 子句中设置了 receiver='$logged_in_user'。它应该是接收者 ID,在您的代码中没有提到任何地方。实际上,这个查询看起来真的很混乱。