• Как сделать вывод последнего сообщения между двумя юзерами?

    froops
    @froops
    Я бы сделал по другому - более гибкий вариант.
    таблица 1 (таблица сообщений): id, id_perep, id_login, data, msg
    id_login - id_login оправителя
    id_perep - id из таблицы 3
    data - дата отправки сообщения
    msg - текст сообщения
    
    таблица 2: (таблица доступа к переписке): id_login, id_perep, data_sort, count_new_msg
    id_login - id login того, кому разрешен доступ к переписке
    id_perep - id переписки из таблицы 3, к которой разрешен доступ
    count_new_msg - количество непрочитанных сообщений для id_login
    
    таблица 3: (таблица переписок): id, count_msg

    После отправки сообщения необходимо обновить поле "data_sort" на текущую дату (по нему будет сортировка для вывода), а также надо обновить (прибавить +1) сообщений всем тем, у кого есть доступ к переписке (в таблице 2)
    Запрос, если необходимо вывести все переписки для user 1:
    SELECT * FROM `table2` WHERE `id_login` = 'user 1' ORDER BY `data_sort` DESC;

    Запрос, если необходимо вывести сообщения к определенной переписке:
    SELECT * FROM `table` WHERE `id_perep` = '$id_perep' ORDER BY `id` DESC; // $id_perep - id переписки
    Ответ написан
    Комментировать