|
|
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость реализовать систему обмена сообщениями между пользователями сайта. У меня получилась такая таблица Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Но как сделать так, чтобы сообщения между 2-мя пользователями группировались? То есть, если я послал письмо пользователю, он ответил, а я ответил на его ответ - то это должно быть в рамках одной переписки. sql server 2008 r2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 12:42 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Darooma, посмотрите, как это сделано для e-mail. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 12:51 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
шел мимо, как это сделано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 12:53 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Daroomaон ответил, а я ответил на его ответНужно ли отличать именно "ответы" от просто сообщений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 13:06 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 13:33 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
это должно быть в рамках одной переписки Если я пишу сообщение этому пользователю, то я могу как начать новую переписку по новой теме, так и продолжить уже начатую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 13:34 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
шел мимоDarooma, посмотрите, как это сделано для e-mail. Посмотрите. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 13:39 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Daroomaэто должно быть в рамках одной переписки Если я пишу сообщение этому пользователю, то я могу как начать новую переписку по новой теме, так и продолжить уже начатую.Сами пользователи в состоянии это различить? Причем как на этапе действия (есть две отдельных кнопки "Новое сообщение" и "Ответить"), так и на этапе чтения принятых сообщений? И пользователи готовы этим правильно пользоваться, а не жать всегда "Ответить" (как это частенько происходит в электронной почте) ? Если да, то заведите еще одно поле "в ответ на ..." со ссылкой на то сообщение, ответом на которое является текущее сообщения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 14:09 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
[quot miksoft]Darooma"в ответ на ..." со ссылкой на то сообщение, ответом на которое является текущее сообщения. То есть поле ParentID. Вариант. Но я решил сделать 2 таблицы Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Так вроде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:11 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
шел мимошел мимоDarooma, посмотрите, как это сделано для e-mail. Посмотрите. В чем проблема? Каким образом и где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:11 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Darooma, А зачем вообще какие-либо поля в таблице PrivateMessageThread кроме ID ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:39 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
miksoft, можно их убрать. Но title по-любому должен быть общим, то есть его нужно оставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:49 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
добавляем в таблицу поле MessageID если оно =0, то это базовое сообщение если >0, то ответ на сообщение ID которого = MessageID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:49 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Daroomaшел мимопропущено... Посмотрите. В чем проблема? Каким образом и где? Просмотрите исходник любого письма, пришедшего «в ответ на…». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 15:52 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
DaroomaНо title по-любому должен быть общим, то есть его нужно оставить.Зачем? Чем не устраивает title первого сообщения в переписке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 16:21 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
miksoft, тем, что этот title будет использоваться только один раз для каждой новой переписки. Поместить его PrivateMessageThread более логично и никаких усилий сверх не требует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 17:43 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 17:46 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Daroomamiksoft, тем, что этот title будет использоваться только один раз для каждой новой переписки. Поместить его PrivateMessageThread более логично и никаких усилий сверх не требует.Это будет либо дублирование данных (если title переписки берется из первого сообщения в этой переписке), либо дополнительный труд пользователю (если заставить его вводить отдельный заголовок переписки). Если не нравится мой совет со ссылкой на предыдущее сообщение, можно хранить ссылку на первое сообщение в треде. Тогда получится практически та же система, как пытаетесь придумать вы, но только из одной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 18:06 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
miksoft, я не хочу заморачиваться с рекурсивной выборкой. Мой вариант правильный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 18:41 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Daroomamiksoft, я не хочу заморачиваться с рекурсивной выборкой. Мой вариант правильный?Мой второй вариант не дает рекурсивной выборки. Ваш вариант избыточен, хотя с ним тоже можно жить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 19:19 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
miksoftDaroomamiksoft, тем, что этот title будет использоваться только один раз для каждой новой переписки. Поместить его PrivateMessageThread более логично и никаких усилий сверх не требует.Это будет либо дублирование данных (если title переписки берется из первого сообщения в этой переписке), либо дополнительный труд пользователю (если заставить его вводить отдельный заголовок переписки). Если не нравится мой совет со ссылкой на предыдущее сообщение, можно хранить ссылку на первое сообщение в треде. Тогда получится практически та же система, как пытаетесь придумать вы, но только из одной таблицы. В таблице PrivateMessage нет поля Title, дублирования данных по нему не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2012, 22:59 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
DaroomaВ таблице PrivateMessage нет поля Title, дублирования данных по нему не будет.Да, я пропустил, что в новой версии это поле перенесено в другую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 19:23 |
|
||
|
Персональные сообщения на сайте
|
|||
|---|---|---|---|
|
#18+
Кстати, а что, пользователям нельзя будет выбирать на какое именно сообщение в пределах переписки они отвечают? Если в дискуссии разовьется несколько параллельных веток, то как в них ориентироваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2012, 20:03 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37616776&tid=1541861]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
16ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 291ms |

| 0 / 0 |
