Общи приятели заявка

niksdevil

Registered
как да сметка логиката да извадя например общите приятели м/у 2ма потребителя???

*id - ID на полето

*username - потребител 1

*friendname - потребител 2
 
Заявката ще е нещо от този род:
[sql]SELECT * FROM friends WHERE user='$id1' and user2='$id2' OR user='$id2' AND user2='$id1'[/sql]
 
Това вади : 0Array ( ) ?
Код:
<?

$res = mysql_query("SELECT username, friendname FROM friends WHERE username = '$session->logged_in' OR friendname = '$req_user' OR username='$session->logged_in' OR friendname='$req_user'");


//немога да се сетя за др. начин
$pr = array();

while($row = mysql_fetch_array($res)) {
      $pr[] = $row;
}

$obshti = 0;
$obshti_id = array();

foreach($pr as $fr) {

      if($fr['username'] == $userid || $fr['friendname'] == $userid)
          foreach($pr as $fr2) {
                  if($fr2['username'] == $user2id || $fr2['friendname'] == $user2id) {
                          if($fr['username'] == $fr2['username'] || $fr['username'] == $fr2['id_2']
                               || $fr['friendname'] == $fr2['username'] || $fr['friendname'] == $fr2['friendname']) {
                                       if($fr['username']==$userid && $fr['friendname']==$user2id) continue;
                                       if($fr['username']==$use2rid && $fr['friendname']==$userid) continue;
                                       $obshti ++;
                                       $obshti_id = ($fr['username']!=$userid && $fr['username']!=$user2id? $fr['username'] :$fr['friendname']);
                          }
                  }
          }
}

echo $obshti;
print_r($obshti_id);?>
 
$res = mysql_query("SELECT username, friendname FROM friends WHERE username = '$session->logged_in' AND friendname = '$req_user' OR username='$req_user' AND friendname='$session->logged_in'");
 
Karcho каза:
$db->query("SELECT *, IF(`to` = '".$id."' OR `from` = '".$session->get("userinfo", "user_id")."', `to`, `from`) friend
FROM friends
WHERE ( `from` = '".$id."' OR `from` ='".$session->get("userinfo", "user_id")."') OR (`to` = '".$id."' OR `to` = '".$session->get("userinfo", "user_id")."')
GROUP BY`to` HAVING COUNT(*) > 1
");

Само сменете моито полета с вашите.
$session... => моето id от сесията
$id => id-то което разглеждам

----
`to` и `from` са все едно твоите friend_id и user_id.
 

Back
Горе