2015-04-24 3 views
0

У меня есть таблица под названием users_friends. Внутри этой таблицы находятся 4 столбца, user_one, user_two, статус и создан (дата создания).Как показать фид с использованием PHP и MySqli

Если в статусе установлено значение "2", то оба пользователя являются друзьями. Кроме того, они находятся в ожидании запроса друга.

Я хотел бы, чтобы отобразить страницу подачи, получая сообщения от моего стола сообщений где user_id равно ид (CURRENT_USER), а затем все их друзья в user_friends таблицы. Каким будет оператор mysql? Я застрял.

Вот как я получаю друзья пользователя.

$conn = conn(); 
$sql = ("SELECT * FROM users_friends WHERE status='2' AND (friend_one='$id' OR friend_two='$id')"); 
$result = $conn->query($sql); 
    if ($result->num_rows > 0) { 
      // output data of each row 
      while($row = $result->fetch_assoc()) { 
       $fndOne = $row["friend_one"]; 
       $fndTwo = $row["friend_two"]; 
       if ($fndOne == $id) { 
        $fndIs = $fndTwo; 
       } elseif ($fndTwo == $id) { 
        $fndIs = $fndOne; 
       } 
       //Just shows it works 
       echo "$fndIs<br />"; 
      } 
    } 

Есть ли лучший способ познакомиться с друзьями? Потому что я не могу понять, как получить друзей пользователей и текущего пользователя, а затем отобразить все сообщения, упорядоченные по post_id DESC.

+0

friend_one - это в основном текущий пользователь и friend_two - их друзья? –

ответ

0
$qry="SELECT user_one,user_two FROM user_friends WHERE (user_one='$id' || user_two='$id') AND status=2"; 
$res=mysqli_query($qry); 
while($res_fetch=mysqli_fetch_object($res)) 
{ 



$qry_p="SELECT * FROM post WHERE (user_id='$res_fetch->user_one' || user_two='$res_fetch->user_one' || user_id='$res_fetch->user_two' || user_two='$res_fetch->user_two')" 
$res_p=mysqli_query($qry_p); 
while($res_fecth_p=mysqli_fetch_object($res_p)) 

{ 
/* Your Post*/ 

} 

} 
0

вы не можете просто использовать внутреннее соединение в вашем SQL заявление и присоединиться к users_freinds.user_id = posts.user_id и получить данные таким образом?

или я неправильно истолковал то, что вы просите?

Смежные вопросы