Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сообщения между пользователями

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
StasHappy
Отправлено: 06 Февраля, 2014 - 14:48:10
Post Id


Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Добрый день. Помогите пожалуйста решить логическую задачу. У себя пытаюсь реализовать что-то наподобие диалогов между пользователями. Примерно как вконтакте. Итак, сделал две таблицы. Одну для диалогов, другую для сообщений. Таблица для сообщений, представлена на рисунке. Вопрос. Как построить таблицу для диалогов? Какие поля там должны быть?
Прикреплено изображение (Нажмите для увеличения)
1234.jpg

(Отредактировано автором: 06 Февраля, 2014 - 14:59:41)

 
 Top
esterio
Отправлено: 06 Февраля, 2014 - 14:57:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




А базы то зачем две, достаточно таблицы, причем даже для только двух пользователей это уже диалог
 
 Top
StasHappy
Отправлено: 06 Февраля, 2014 - 14:58:29
Post Id


Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Цитата:
А базы то зачем две, достаточно таблицы, причем даже для только двух пользователей это уже диалог

Я пытался смозговать и найти способ как можно обойтись всего одной таблицей. Но ничего не вышло. Так и не додумал.

Оп. Пардон. Не базы, а таблицы. Я сделал две таблицы. Одну для диалогов, другую для сообщений. Извините. Исправил первое сообщение. Но вопрос, всё тот же.

(Отредактировано автором: 06 Февраля, 2014 - 15:01:16)

 
 Top
esterio
Отправлено: 06 Февраля, 2014 - 15:01:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




а зачем стараться сделать все в 1 таблицы, если там лучше использовать две и связь между ними. Нормализация как никак
 
 Top
StasHappy
Отправлено: 06 Февраля, 2014 - 15:02:40
Post Id


Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Цитата:
а зачем стараться сделать все в 1 таблицы, если там лучше использовать две и связь между ними.

Да. Именно так. А вот как это сделать. Я уже неделю бьюс над этой задачей и не могу ничего придумать.
(Добавление)
Помогите, прошу вас.

(Отредактировано автором: 06 Февраля, 2014 - 15:11:03)

 
 Top
caballero
Отправлено: 06 Февраля, 2014 - 16:56:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а что там особо придумывать

есть диалоги
к ним привязана таблица сообщений
в таблице сообщений есть id юзера который послал сообшение


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
StasHappy
Отправлено: 06 Февраля, 2014 - 20:08:26
Post Id


Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Цитата:
в таблице сообщений есть id юзера который послал сообшение

У меня была следующая таблица для диалогов(смотрите на изображении). При выборке данных, я смотрел, имеются ли у меня активные диалоги с тем или иным пользователем. Затем, если что-то находилось, то выводил сообщения на страницу. Мой недочёт был в следующем. При удалении диалога, я ставил flag в положение '0' и затем, удалял из таблицы все сообщения с этого диалога. А потом смекнул, что сообщений может быть очень много и подобные операции будут постоянной нагрузкой для сервера. И вот, теперь.. Я не знаю что делать и как быть.
Прикреплено изображение (Нажмите для увеличения)
qsw2421.jpg
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB