Loading...
PHP/MySQL | Вывод сообщений
Server ,

ну так выбирай КТО написал, а не КОМУ

у тебя цикл на КОМУ (тебе) выводит всех кто тебе написал

теперь внутри цикла выбираем КТО (who) тебе написал и пишем возле его ника его последнее сообщение

$dialog = $db->query("SELECT * FROM mail WHERE who = '".$m['who']."' ORDER BY `id` DESC LIMIT 1")->fetch_assoc();


как-то так :-)
Ну так оно и есть брать последный ид и группа пользователя и будет тебе последные сообшения и только 1 диалог пользователей!
и не хватает в таблицу заполнить
id - Индификатор сообщения
user_id - Индификатор получателя
user_sender_id - индификатор отправителя
message - сообшения
time - время отправления

Вот и берем свой user_id и групируем sender и выводит 1 последный на время или индификатор. Логика не вижу сложно!
группа можете посмотреть http://www.sql-tutorial.ru/ru/book_group_by_clause.html

SELECT `mail`.`id_sender`,
MAX(`mail`.`time`) AS `time`,
MIN(`mail`.`is_read`) AS `is_read`,
COUNT(`mail`.`id`) AS `count`
FROM `mail`
WHERE `mail`.`id_user` = ?
GROUP BY `mail`.`id_sender`
ORDER BY `time` DESC


Вот пример запроса моего проекта!
Server (11.01.2017 в 19:34)
Вилы_Выкидные ,
Не для одного.

site.ru/mail - тут вывоятся диалоги со всеми.

Вот это я не могу написать, логики нету Гг

руки просто из попы и все Гг
Вилы_Выкидные , тож самое
Онлайн: 3
Время:
Gen. 0.0955
(c) Bym.Guru 2010-2026