显示朋友列表

时间:2016-10-09 10:42:31

标签: php social-network-friendship

我正在为基本社交网络创建朋友系统。我创建了以下功能来显示用户的所有朋友。 图例:sid =发送者ID; rid = receiver id;

public function friendsList()
    {
        $id = $_SESSION['user'];
    $status = 1;

    $sql = $this->_db->prepare("SELECT * FROM requests WHERE (sid = :k OR rid = :m) AND status = :n");
    $sql->bindValue(':k', $id);
    $sql->bindValue(':m',$id);
    $sql->bindValue(':n', $status);
    $sql->execute(); 

    while($row = $sql->fetchAll(PDO::FETCH_ASSOC)){
      $rsize = count($row);
      $a = $_SESSION['user'];
      $rel = new User();
      $sel = new User();
      for($i=0; $i<$rsize; $i++)
        {
            if($a === $row[$i]['sid']){
              $friendid = $row[$i]['rid'];
              $rel = $rel->getUser($friendid);
              return $rel;
            }

            if($a === $row[$i]['rid']){
              $friendid = $row[$i]['sid'];
              $sel = $sel->getUser($friendid);
              return $sel;
            }
        }
     }
  }

getUser()函数运行正常。它所做的就是返回相应朋友ID的用户名。

我的问题是:当我执行代码时,当前用户的id只被分配给两个if循环中的任何一个,它只返回来自单个实例的朋友,例如,当前用户是发件人,反之亦然。

那么,我如何改变它,以便当前用户同时是发送者和接收者时我可以回复朋友? 请帮助!!

0 个答案:

没有答案