[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу составить архитектуру (или запрос)
Страницы: 1, 2, 3, 4
Игорь_Vasinsky
а ты всего то должен найти нужный канал и получить по нему всё остальное)

т.е. пользователь (отправитель) отправляет сообщение другому пользователю (получателю)

вот у тя 2 id пользователей

если есть канал с этими пользователями - берёшь это канал и используешь как идентификатор сообщения

если нет - создаёшь новый каналь для этих пользователей и используешь его

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
Так и делаю!
Откуда null?
Игорь_Vasinsky
ну вот так запрос заполняет ответ - всё что не получил - заполнил null


опять же - тебе нужно получить id канала по отправителю и получателю
потом по этому каналу - получить все сообщения



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
Я понял алгоритм) спс)
Попробую завта (сейчас в кровати уже)
Игорь_Vasinsky
так вот. меня вгоняет в штопор

в таблице `channel_list` - одна строка

id name privs
1 Основной 0


в таблице `chat` 2 строки

id sender_id who date channel text status
40 1 Zzepish 2013-01-18 20:07:40 2 ggdggfgddf 0
41 1 Zzepish 2013-01-19 23:54:02 Основной Привет 0


2, основной - 2 2х строках по разному

я же говорил - у тя привязка должна осуществляться по id канала


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
channel_list мы сейчас не трогаем! Он для общего чата и работает он нормально!
ПРивязка по каналу есть- `chat`.`channel`.
А на тему привата- сначала идет проверка на php, есть ли чат в общем списке (channel_list), и только потом проверка на приват
Игорь_Vasinsky
а что chat.channel - должен содержать?
у тя там и id и имя канала в 2х строках

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
Смотри:
chat.channel содержит id (которое может быть и текстовым) канала. Т.е. если чат общй, или есть в списке channel_list то канал- названиие Канала из этой таблицы.
Если приват- id цифровой
Zzepish
Игорь_Vasinsky
а вообще- можешь подобавлять сообщений (только сначала регнись)
Я создам приватную переписку, посмотришь)
Игорь_Vasinsky
не не не..

стой, такие качели вообще грузят мозг.

нужно пересмотреть структуру таблиц

значит должна быть таблица channel_list такого формата

id_channel | name_chanel | privat (1 or 0)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
думаешь?
ПРосто я хотел приват хранить отдельно от основных каналов
Игорь_Vasinsky
я же говорил - если ты правильно построешь архитектуру БД - то будет меньше заморочек.

тем более у тя вопросы возникают вначале работы, а не уже на работающем проекте.

зачем 2 таблицы на общественные и приватные каналы?

мне кажется достаточно одной

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Игорь_Vasinsky
Сейчас переделаю.
Т.е. и отправителя и получателя мне тоже туда перенести?
Zzepish
Игорь_Vasinsky
Во) теперь мы можем общаться в общем чате)
Я поставил авто-обновление)
Игорь_Vasinsky
Цитата
Во) теперь мы можем общаться в общем чате)
Я поставил авто-обновление)

не понял

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.