Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: История сообщений
 
 автор: designshadow   (27.11.2010 в 06:20)   письмо автору
 
 

Как можно совместить исходящии и входящии сообщения в одной таблице для обеих пользователей?

Таблица:
id - sender - reciever - text
1 ----- 22 ------- 44 ---- test

Например, user с id 22 посылает сообщение useru c id 44
Как лучше сделать чтобы и тот и другой ползователь смогли прочесть историю сообщений?

Допустим если первый пользователь делает запрос то выводятся все сообщения где sender = 22 и reciever = 44.
А если второй пользователь делает запрос то тут получается что sender = 44, а reciever = 22. Соответственно ничего не выведет.

  Ответить  
 
 автор: Trianon   (27.11.2010 в 11:43)   письмо автору
 
   для: designshadow   (27.11.2010 в 06:20)
 

зависит от того, какой именно запрос делается.


кстати.
таблица сообщений убога - из-за поля receiver.
Во первых, оно с грамматической ошибкой.
Во воторых, не позволяет создавать сообщения с несколькими адресатами.
По-хорошему бы тут еще одну таблицу неплохо было приделать.

  Ответить  
 
 автор: designshadow   (27.11.2010 в 16:09)   письмо автору
 
   для: Trianon   (27.11.2010 в 11:43)
 

>зависит от того, какой именно запрос делается.
запрос чтобы просмотреть все сообщения(history)

>По-хорошему бы тут еще одну таблицу неплохо было приделать.
outcoming,incoming?

Как потом совместить outcoming,incoming чтобы получилась history?

  Ответить  
 
 автор: Trianon   (27.11.2010 в 16:22)   письмо автору
 
   для: designshadow   (27.11.2010 в 16:09)
 

>>зависит от того, какой именно запрос делается.
>запрос чтобы просмотреть все сообщения(history)

SELECT * FROM messages

  Ответить  
 
 автор: designshadow   (28.11.2010 в 03:14)   письмо автору
 
   для: Trianon   (27.11.2010 в 16:22)
 

А как подсчитать кол-во пользователей с кем был контакт по сообщениям. И получить их конретный res_id.
Например:

id sender_id res_id
1------ 33 -------44
2------ 33 -------44
3------ 33 -------44
4------ 33 -------44
5------ 33 -------12
6------ 33 -------77

Т.е. здесь получается что контакт был с 3-ся пользователями.

  Ответить  
 
 автор: Trianon   (28.11.2010 в 03:21)   письмо автору
 
   для: designshadow   (28.11.2010 в 03:14)
 

их конкретный это как?
либо их общий либо его конкретный.

SELECT DISTINCT res_id ...
как то так.

  Ответить  
 
 автор: Trianon   (27.11.2010 в 16:23)   письмо автору
 
   для: designshadow   (27.11.2010 в 16:09)
 

>>По-хорошему бы тут еще одну таблицу неплохо было приделать.
>outcoming,incoming?

Нет, конечно. Таблица сообщений и таблица адресатов.

  Ответить  
 
 автор: designshadow   (28.11.2010 в 08:09)   письмо автору
 
   для: Trianon   (27.11.2010 в 11:43)
 

>Во воторых, не позволяет создавать сообщения с несколькими адресатами.
А зачем это?

Сделал с двумя таблицами, но думаю что и в одной можно было всё уместить используя id получателя...
Тут всё просто - отослал сообщение, получил сообщение. Вывел пользователя которому слал сообщение или который наоборот тебе слал сообщение. Нажимаешь на данного пользователя и выводишь все сообщения где мой id=1 и его id=2 или мой id=2 и его id=1. Всё!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования