|
|
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
Доброго всем здравия.... столкнулся с проблемкой.... имеем таблицу chat c полями - id (идетнификатор сообщения) - id_from (от кого) - id_to (кому) - message (сообщение) - data (дата сообщения) Имеется задача вывести список всех разговоров конкретного пользователя... например $id_user чтоб показывал последнюю дату разговора и последнее сообщение соответственно разговор от id_from -> id_to и наоборот - это один разговор.... делаю так Код: sql 1. 2. 3. 4. 5. 6. результат выдает но не тот что ожидаю... иногда промелькивают что разговоры 1 -> 2 и 2 -> 1 это разные.. .а не в один объединяет.. ну и сообщение last_message явно не последнее в разговоре всегда .... первый берет Где что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:01 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
ADsoftИмеется задача вывести список всех разговоров конкретного пользователя. Вот это понятно... но всё, что написано дальше, либо противоречит задаче, либо вообще неясно нафига написано. Ну и вдогонку - непонятно, в каком именно виде их надо "вывести". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:24 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
попробую уточнить .. список начатых разговоров например вася пете привет 1 вася маше и тебе привет 2 маша васе хай 3 маша миша рама 4 для пользователя Вася должны получить список вася - петя, привет вася - маша, хай для пользователя маша маша- вася, хай маша - миша, рама вывести в виде: кто с кем разговоаривал, когда последний раз, какое последнее сообщение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:33 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
FAQ: Выборка первой/последней записи в группах Для решения задачи ещё добавь в запросе к полям таблицы расчётное поле, равное id второго абонента вне зависимости от того, кто именно кому именно постил, и группируй по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:42 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
Akina добавь в запросе к полям таблицы расчётное поле, равное id второго абонента вне зависимости от того, кто именно кому именно постил, у. а это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 15:51 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2016, 16:38 |
|
||
|
Список разговоров в чате - как сгруппировать?
|
|||
|---|---|---|---|
|
#18+
Akina, ага.... сделал немного раньше чем подсказали и через if Код: sql 1. И даже последние сообщения через соединение с датовремей и вырезание сделал..... еднственное что теперь не получается - количество сообщений в каждом чате, и кол-во непрочитанных в каждом чате пытаюсь количество найти как Код: sql 1. .. непрочитанных как SUM(status) (просто статус 0 или 1) он мне дает соверешено какие-то дикие результаты может ткнете носом в обсуждение похожие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2016, 23:31 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39169121&tid=1832166]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
196ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 522ms |

| 0 / 0 |
