1

そうです、私はこれにまっすぐ入るつもりです。

友達追加ボタンを作っています。その人がセッションと同じ行にいる場合 (ログオンしている人)、Add Friend をエコーし​​ません。

その人の名前が行にあり、ページ ID がセッション ID と一致しない場合は、ボタンをエコーする必要があります。ただし、名前が含まれている可能性のある行が 2 つあり、単純な '||' を使用します。分離する。しかし、私の場合はうまくいきません。最後なのに「友達追加」を返します。2 番目の「OR」要素を削除し、1 つのステートメントを使用しただけで機能しました。

RelatedUser と RelatingUser は、ページ ID の結果が含まれる可能性のある 2 つのフィールドです。

私のコードは以下の通りです:

    $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 に答える