Выборка из БД

Печать / RSS
0
1. horoshinkin777 (29.11.18 / 11:53)
Пришелец
Пишу скрипт диалогов.
$result = mysqli_query($db, "SELECT DISTINCT otkogo, komu FROM message WHERE otkogo = '$my_id' OR komu = '$my_id' ORDER by id DESC");

вот так получаю диалоги в которых я учавствовал в формате 'id id'.
но на выходе получается например 12 и 21. Это один диалог. Подскажите как избавиться от лишнего
0
2. Вантуз-мен (29.11.18 / 12:30)
Господин ПЖ
Что получается на выходе я не очень понял в чем проблема
0
3. horoshinkin777 (29.11.18 / 12:36)
Пришелец
@Vantuz, например чел с id=1 написал челу с id=2 и потом чел с id=2 ответил челу с id=1. Итого в базе 3 сообщения.
на странице со списком диалогов в которых я учавствовал получаю след запись:
id=1 id=2
id=2 id=1
по сути это один диалог а выдает как будто 2 разных

Добавлено через 01:08 сек.
$result = mysqli_query($db, "SELECT DISTINCT otkogo, komu FROM message WHERE otkogo = '$my_id' OR komu = '$my_id' ORDER by id DESC");

while ($myrow = mysqli_fetch_array($result)) {
echo $myrow['otkogo'].$myrow['komu'].'<br>';


}
0
4. Zдешний (29.11.18 / 12:47)
Веем холодом
@Vantuz, например чел с id=1 написал челу с id=2 и потом чел с id=2 ответил челу с id=1. Итого в базе 3 сообщения.
на странице со списком диалогов в которых я учавствовал получаю след запись:
id=1 id=2
id=2 id=1
по сути это один диалог а выдает как будто 2 разных

Добавлено через 01:08 сек.
$result = mysqli_query($db, "SELECT DISTINCT otkogo, komu FROM message WHERE otkogo = '$my_id' OR komu = '$my_id' ORDER by id DESC");while ($myrow = mysqli_fetch_array($result)) {echo $myrow['otkogo'].$myrow['komu'].'<br>'; }@horoshinkin777 (Сегодня / 14:36)

Ну так усложни условие. AND и дальше, чтобы от кого там равно тому то, кому - не равно тому то.
0
5. horoshinkin777 (29.11.18 / 12:51)
Пришелец
@Playa, я пытался что то придумать, не выходит... мозги себе сломал уже
0
6. Андрей (29.11.18 / 18:20)
Землянин
@Vantuz, например чел с id=1 написал челу с id=2 и потом чел с id=2 ответил челу с id=1. Итого в базе 3 сообщения.
на странице со списком диалогов в которых я учавствовал получаю след запись:
id=1 id=2
id=2 id=1
по сути это один диалог а выдает как будто 2 разных

Добавлено через 01:08 сек.
$result = mysqli_query($db, "SELECT DISTINCT otkogo, komu FROM message WHERE otkogo = '$my_id' OR komu = '$my_id' ORDER by id DESC");while ($myrow = mysqli_fetch_array($result)) {echo $myrow['otkogo'].$myrow['komu'].'<br>'; }@horoshinkin777 (Сегодня / 12:36)

вот ты какое условие делаешь оно тебе то из базы и выдает
0
7. Вантуз-мен (29.11.18 / 18:38)
Господин ПЖ
@horoshinkin777, почему в базе именно 3 сообщения, я понимаю 2 или 4 когда дублируются, но с 3 я не очень понял

ну а так ты написал такое условие что от кого =1 или кому =1, вроде все верно, напиши точно что получается и что ты хочешь получить

Добавлено через 02:04 сек.
Вообще такая структура как у тебя не очень оптимальна, а что если я удалю сообщение которое отправил кому-то, оно же исчезнет у получателя
индексы на какие поля ты будешь ставить
как ты при разборе массива будешь определять входящее это или исходящее письмо
0
8. Андрей (29.11.18 / 21:45)
Землянин
@horoshinkin777, почему в базе именно 3 сообщения, я понимаю 2 или 4 когда дублируются, но с 3 я не очень понял

ну а так ты написал такое условие что от кого =1 или кому =1, вроде все верно, напиши точно что получается и что ты хочешь получить

Добавлено через 02:04 сек.
Вообще такая структура как у тебя не очень оптимальна, а что если я удалю сообщение которое отправил кому-то, оно же исчезнет у получателя
индексы на какие поля ты будешь ставить
как ты при разборе массива будешь определять входящее это или исходящее письмо@Vantuz (Сегодня / 18:38)

тип по идее надо сделать ячейку с айди кто удалиил сообщение,если он удалил то кто удалил ему не надо показывать вообще все записи или как то так
0
9. horoshinkin777 (30.11.18 / 14:32)
Пришелец
@Andrei4ik93, я так и делал
Для добавления сообщения необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск