【发布时间】:2015-11-12 14:14:57
【问题描述】:
我正在尝试根据查询返回显示不同的消息/按钮。有3种不同的情况。
- 用户查看他的帐户
- 用户评论好友帐号
- 用户评论非好友账户
所以当用户检查他自己的帐户时,我隐藏了“添加为朋友”按钮。当他检查非朋友帐户时,我显示按钮“添加为朋友”。当用户检查朋友帐户时,我想显示该用户是他的朋友的消息。
这是查询和 if、elseif、else 条件。逻辑有问题,但无法弄清楚到底是什么。
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$id = $_GET['id']; {
$result = $pdo->prepare("SELECT usr.*, userFriends.*
FROM users usr
LEFT JOIN user_friends userFriends
ON usr.id = userFriends.friend_id
WHERE id = ?
LIMIT 1");
$result -> bindParam(1, $id, PDO::PARAM_INT);
$result -> execute();
foreach ( $result as $row )
{
// some html here
if($_SESSION['id'] == $row['user_id'])
{
echo '';
}
elseif ($id == $row['friend_id'])
{
echo ' Already friends ';
}
else
{
echo ' Add as friend ';
}
}
}
所以$_SESSION['id'] 是当前的(登录用户)。
$id 是非朋友/朋友个人资料
$row['user_id'] 是表 user_friends 中的当前用户
$row['friend_id'] 是来自user_friends 表的非好友/好友 ID
【问题讨论】:
-
能否复制var_dump($result)的结果;请?
-
同查询。
-
那么你能打印 $row 的值吗?如果您的案例没有按预期工作,那么问题一定存在,我刚刚发现,您首先检查 user_id 如果然后是friend_id,这是故意的吗?
-
现在我的好友按钮被隐藏了。在当前用户上是“已经朋友”的消息。在非好友按钮上是隐藏的并且没有消息。
-
是的,因为在
IF上,我会在页面上查看当前用户个人资料的时间。elseif我想检查他们是否已经是朋友,即在朋友用户页面上。else是非好友页面