За последние 24 часа нас посетили 31044 программиста и 1428 роботов. Сейчас ищут 835 программистов ...

Как вывести последний сообщения диалога контакта!

Тема в разделе "MySQL", создана пользователем engine.energy, 12 окт 2015.

  1. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Не могу понять сделал такой запрос чтобы каждый контакт выводил последний сообщения, а при клике контакта переходил и появляется список сообщения диалога.

    Вот само запрос

    Код (PHP):
    1. "SELECT
    2.               `id`,
    3.               `send_account_id`,
    4.               `text`,
    5.               MAX(`time`) AS `time`,
    6.               MIN(`read_message`) AS `read_message`,
    7.               COUNT(`id`) AS `count`
    8.           FROM
    9.             `mails`
    10.           WHERE
    11.             `account_id` = ?
    12.           GROUP BY
    13.             `send_account_id`
    14.           ORDER BY `time` ASC LIMIT 10"
     
  2. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Уже нашел за долгий мучения!

    Код (PHP):
    1. "SELECT
    2.             `users`.`id`,
    3.             `users`.`account_id`,
    4.             `users`.`send_account_id`,
    5.             `users`.`text`
    6.           FROM
    7.             `accounts_mail` users
    8.           INNER JOIN
    9.           (
    10.               SELECT `send_account_id`, max(`id`) as `id`
    11.               FROM `accounts_mail`
    12.               GROUP BY `send_account_id`
    13.            ) new
    14.            ON `users`.`send_account_id` = `new`.`send_account_id` AND `users`.`id` = `new`.`id`"
    Добавлено спустя 26 минут 33 секунды:
    Нашел еше причину ошибку!

    Что если я отправил то не показывает с кем я начал контактировать и мое сообщения. А только кто его получит тот и видит контакты..

    Уж голову ломаю всю ночь ломать структуру...

    Код (Text):
    1. "SELECT
    2.             `users`.`id`,
    3.             `users`.`account_id`,
    4.             `users`.`send_account_id`,
    5.             `users`.`text`
    6.           FROM
    7.             `accounts_mail` users
    8.           INNER JOIN
    9.           (
    10.               SELECT `send_account_id`, max(`id`) as `id`
    11.               FROM `accounts_mail`
    12.               GROUP BY `send_account_id`
    13.            ) new
    14.            ON `users`.`send_account_id` = `new`.`send_account_id` AND `users`.`id` = `new`.`id`
    15.            WHERE
    16.             `users`.`account_id` = :id
    17.           LIMIT 10"
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не понятно в чем грабли и что не так
     
  4. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    igordata, причина запрос не работает если я начал тебе написал и должен появится список с тобой начатый и 1 сообщения то есть он являет последний диалог! Как у вк. Каждый контакт пользователя показывает последныый сообщения ты или я!
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я очень плохо шарю в запросах, прости.
     
  6. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Ни кто Mysql не знает омг! Бывает!!! Забью его кто его отправил будт пустой а кто получит новые сообщения тот и беседует!