PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
fiksik Отправлено: 21 Апреля, 2016 - 06:16:47 • Тема: выборка записей из БД без повтора • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 77
SELECT DISTINCT(author),* FROM
Получилось! Большое спасибо за помощь!
fiksik Отправлено: 20 Апреля, 2016 - 16:08:09 • Тема: выборка записей из БД без повтора • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 77
я не пойму что я делал не так, но пробовал я и GROUP BY
$result = $db->query("SELECT * FROM `table` WHERE `author` = '$_SESSION[id]' or `recipient` = '$_SESSION[id]' GROUP BY author");
$array = $result->fetch(PDO::FETCH_ASSOC);
fiksik Отправлено: 20 Апреля, 2016 - 13:12:36 • Тема: выборка записей из БД без повтора • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 77
я пробовал так:
$result = $db->query("SELECT DISTINCT * FROM `table` WHERE `author` = '$_SESSION[id]' or `recipient` = '$_SESSION[id]'");
$array = $result->fetch(PDO::FETCH_ASSOC);
ничего не поменялось
fiksik Отправлено: 20 Апреля, 2016 - 07:00:41 • Тема: выборка записей из БД без повтора • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 77
здравствуйте, уважаемые форумчане! Стараюсь я освоить 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): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB