здравствуйте, уважаемые форумчане! Стараюсь я освоить PHP потихоньку и вот над одной задачкой бьюсь уже неприлично долго, возможно у меня подход просто неверный, вот и прошу помощи.
Итак, есть у меня 2 таблицы: 'users' и 'table'.
В таблице table такие столбцы:
'id' - id сообщения
' author' - автор сообщения
'recipient' -получатель сообщения
В таблице 'users' такие столбцы:
'id'
'login'
вопрос в том, что я не могу вывести список всех пользователей, с кем веду переписку без повтора. Т.е я вывожу login человека , кто мне писал например, но он повторяется столько раз, сколько раз писал.
<?php
$result = $db->query("SELECT * FROM `table` WHERE `author` = '$_SESSION[id]' or `recipient` = '$_SESSION[id]'");
$array = $result->fetch(PDO::FETCH_ASSOC);
do{
if($array['author']==$_SESSION['id']){
$result2 = $db->query("SELECT * FROM users WHERE id = '$array[recipient]'");
$array2 = $result2->fetch(PDO::FETCH_ASSOC);
}
if($array['recipient']==$_SESSION['id']){
$result2 = $db->query("SELECT * FROM users WHERE id = '$array[author]'");
$array2 = $result2->fetch(PDO::FETCH_ASSOC);
}
echo $array2['login'] .$array['message']."\n<br>";
}
While($array = $result->fetch(PDO::FETCH_ASSOC));
?>
я пробовал разные варианты, но получалось по результату так же.
1. fiksik - 20 Апреля, 2016 - 07:00:41 - перейти к сообщению
2. 3d_killer - 20 Апреля, 2016 - 09:56:34 - перейти к сообщению