1

是的,我将直接进入这个。

我正在构建一个添加朋友按钮。如果此人与会话(登录的人)在同一行,则不应回显添加朋友。

如果该人的姓名在行中,并且页面 id 与会话 id 不匹配,它应该回显一个按钮。但是名称可能在两行中,我使用简单的“||” 分开。但我的 if 不起作用。尽管它在最后,但它返回“添加朋友”。我删除了第二个“或”因素,只使用了一个语句,它起作用了。

RelatedUser 和 RelatingUser 是页面 id 结果可能存在的两个可能字段。

我的代码如下:

    $session_username_query = mysql_query("SELECT * FROM users WHERE username='{$_SESSION['user_login']}'");
    $session_username_assoc = mysql_fetch_assoc($session_username_query);
    $session_username = $session_username_assoc['username']; //the person who is logged in

    $profile_view_query = mysql_query("SELECT * FROM friend WHERE RelatedUser='$session_username' OR RelatingUser='$session_username'");
     $profile_view_assoc = mysql_fetch_assoc($profile_view_query);
     $related = $profile_view_assoc['RelatedUser'];
     $relating = $profile_view_assoc['RelatingUser']; 

      if ($username != $relating && $_GET['id'] != $session_username_assoc['id'] || $username != $related && $_GET['id'] != $session_username_assoc['id']) {
 $addAsFriend = '<input type="submit" name="addfriend" value="Add Friend">';
    echo $addAsFriend;
    } 
4

1 回答 1

0

我认为删除 OR 操作数 (||) 会给你想要的结果。

if (
    $username != $relating &&
    $username != $related &&
    $_GET['id'] != $session_username_assoc['id']
) {
    $addAsFriend = '<input type="submit" name="addfriend" value="Add Friend">';
    echo $addAsFriend;
} 

编辑

也许我误读了你的问题。这会起作用吗?

if (
    ($username != $relating || $username != $related) &&
    $_GET['id'] != $session_username_assoc['id']
) {
    $addAsFriend = '<input type="submit" name="addfriend" value="Add Friend">';
    echo $addAsFriend;
} 
于 2012-12-09T21:11:43.167 回答