PHP/MySQL | Вывод сообщений
DELETED
11 января 2017, в 20:14
Delete
ну так выбирай КТО написал, а не КОМУ
у тебя цикл на КОМУ (тебе) выводит всех кто тебе написал
теперь внутри цикла выбираем КТО (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 последный на время или индификатор. Логика не вижу сложно!
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 - тут вывоятся диалоги со всеми.
Вот это я не могу написать, логики нету
Вилы_Выкидные ,
Не для одного.
site.ru/mail - тут вывоятся диалоги со всеми.
Вот это я не могу написать, логики нету
руки просто из попы и все
Вилы_Выкидные , тож самое
Стр.: 1, 2