Показ списка друзей
Я создаю систему друзей для базовой социальной сети. Я создал функцию ниже, чтобы отобразить всех друзей пользователя. Легенда: sid = идентификатор отправителя; рид = идентификатор получателя;
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() работает нормально. Все, что она делает - возвращает имя пользователя соответствующего друга.
Моя проблема заключается в следующем: когда я выполняю код, идентификатор текущего пользователя присваивается только одному из двух циклов if, который возвращает только друзей из одного экземпляра, например, где текущий пользователь является отправителем или наоборот.
Итак, как я могу изменить его таким образом, чтобы я мог вернуть друзей, когда текущий пользователь был и отправителем, и получателем? любезно помогите!!