Сообщения в виде диалогов

Печать RSS
397

Автор
Пришелец
0
Очень нужна помощь...

2000 лет д.н.э.
0
зачем такое извращение?

Пришелец
0
Зачем в виде диалогов ?

Землянин
0
По идее, просто сортировка по времени - это не совсем диалог (я, по крайней мере, вижу это немного иначе).

Чтобы было более-менее похожее на настоящие даилоги, надо выводить именно ветки связанных сообщений.

За один день может быть несколько отдельных диалогов. Выводим первое сообщение диалога, разворачиваем весь в случае необходимости.

Реализовать можно так - ты пишешь мне, я тебе отвечаю, ты мне - я тебе и так далее. То есть считать за диалог именно цепочку сообщений, когда один отвечает другому. Если один написал, другой ему ответил, пишем в базу, что сообщение, на которое ответили - первое сообщение ветки диалога, сохраняем id ветки диалога, который будет писаться и в другие сообщения, которые будут идти при ответе на последующие сообщения ветки.

Эм.. кто-нибудь вообще понял, о чем? Как-то я кажется мутно описываю..

Пример :

Вася пишет Сереже - привет, как дела?
Сережа отвечает Васе - Дарова, нормально! // в этом момент создаем в таблице диалогов новую запись (ведь Сережа ответил Васе, и это можно считать началом диалога). ID вставляем в свойства первого и второго сообщения.
Вася отвечает Сереже - Че, живой после вчерашнего? // смотрим, есть ли у предыдущего сообщения ID диалога и если есть, пишем в свойства текущего сообщения. И так далее, по аналогии.

Насчет оптимизации и структуры таблиц надо, конечно, думать. Я просто план примерный накидал.

Автор, тебе что-то типа этого надо или просто упорядочивание сообщений по такому параметру, как кто кому написал?
Изменил: Алексей (14.03.2012 / 00:25)

2000 лет д.н.э.
0
XdN (14 Марта 2012 / 00:25)
Эм.. кто-нибудь вообще понял, о чем? Как-то я кажется мутно описываю..
конечно)) у меня давно такое

Землянин
0
25. ramzes, осталось еще узнать у автора, это ли он имел ввиду.

P.S. Тоже думал как-то подобное реализовать, но, чаще всего это мало кому нужно будет на сайте. Проще просто сделать систему папок - просмотр переписки с отдельным юзером + отдельно входящие - исходящие. Это можно сделать даже без кучи таблиц и дубляжа сообщений.
Это менее мутно для кодера и проще для восприятия простыми юзерами. А то, что я описал, автору не советую. Если только это совсем уж не необходимо.

2000 лет д.н.э.
0
26. XdN, это как раз очень удобно
1. частенько не помню о чем вообще речь шла
2. наглядно видно весь диалог
3. не загружает страницу ненужными сообщениями из других тем
ну и т.дsmile
в общем удобно имхо
Автор
Пришелец
0
Нужна система сообщений, подобная вконтакте: папки "входящие", "исходящие" и "диалоги", ну вы поняли, думаю.

Добавлено через 02:06 сек.
ramzes (13 Марта 2012 / 23:45)
зачем такое извращение?
в смысле? Создать для каждого юзера таблицу со списком его друзей хотел, разве извращение? Просто только изучаю базы, не знаю, как по-другому реализовать.

крутой чЕл
0
Конечно извращение. 1000 юзеров,1000 таблиц. Черт ногу сломит
Изменил: Андрюха (14.03.2012 / 08:09)

2000 лет д.н.э.
0
Wapruks (14 Марта 2012 / 08:09)
Конечно извращение. 1000 юзеров,1000 таблиц. Черт ногу сломит
плюс некоторые выборки будут просто ужасны, из десятка таблиц (список диалогов например)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск