Личные сообщения - давайте расставим точки.

1 234
nomarketing
На сайте с 23.09.2009
Offline
189
#21
estic #:

Есть такое у программистов. Работа - это работа. А форум, тем более в пятницу или выходные, - это другое.

Выше уже написали. Здесь присутствуют, по большей части в качестве "наблюдателей", не только пользователи/разработчики WP. Представьте себе, я ни одного сайта на WP не запустил. Хотя исходники когда-то довольно подробно изучал. Чтобы понять, что это "чудо" лучше обойти стороной 😊 Да, CMS распространена, кто же спорит 😊

Стремление похвальное, но без навыков программирования, аналитики баз данных в чем смысл? Учитесь и возьмите эту задачку в качестве прикладной при обучении. А большинству разработчиков будет скучно. Если они помимо своей основной работы не занимаются помощью новичкам. Я, например, довольно часто консультирую, но мне интересно давать подсказки начинающим разработчикам, а не раздражаться при общении с новичками в программировании.

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

Wordpress - выбран не просто так, во первых тестировались нагрузки, во вторых он сделан очень удобно и умно в случае чего, под рукой есть практически весь его функционал.

По этому - отдельно допиливать в качестве плагинов - решения самое оно.

Я просто вспомнил Джумлу или Друпал, это что-то с чем-то...

Думал тут по дружней будет, а нет.

Капитан покидает корабль последним
E
На сайте с 01.10.2017
Offline
111
#22
nomarketing #:
По этому - отдельно допиливать в качестве плагинов - решения самое оно.

Ну, тогда допиливайте. Как вы поняли, с WP я вам точно не помогу. Мне до его "умносделанности" далеко 😊

Если будут возникать умные вопросы, не связанные непосредственно с WP, спрашивайте. Вдруг мне тоже будет это интересно.

Домены на продажу: https://p20.ru/collection/domains-for-sale
Delysid
На сайте с 27.05.2019
Offline
239
#23
nomarketing :
Я из принципа смотря на код некоторых wordpress плагинов

На WP аддонов личные смотреть вроде нету, на других CMS есть. 

Через базу сайта читай. 😁

E
На сайте с 01.10.2017
Offline
111
#24
promx #:
кому надо через  запятую отправляешь если много адресатов

Нет. Даже дублирование текстов сообщений лучше, чем это. Изучите основы: связь многие-ко-многим.

Навскидку: даже без множественных адресатов, наверное, будет нужна таблица приватных чатов (бесед). Причем отдельная беседа может быть как непрерывной (возобновляемой), так и закрываемой. Может быть даже несколько (параллельных) бесед между одними и теми же участниками.

yodda
На сайте с 22.03.2017
Offline
199
#25
А в чем проблема с помощью ИИ сделать то, что нужно?
P
На сайте с 29.03.2024
Offline
14
#26
estic #:

Нет. Даже дублирование текстов сообщений лучше, чем это. Изучите основы: связь многие-ко-многим.

Навскидку: даже без множественных адресатов, наверное, будет нужна таблица приватных чатов (бесед). Причем отдельная беседа может быть как непрерывной (возобновляемой), так и закрываемой. Может быть даже несколько (параллельных) бесед между одними и теми же участниками.

дак речь не о чатах. а тупо сообщение вывести как в почте

E
На сайте с 01.10.2017
Offline
111
#27
promx #:
дак речь не о чатах. а тупо сообщение вывести как в почте

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

Чаты по своей сути ближе к темам форума, чем к почте и почтовым ящикам.

nomarketing
На сайте с 23.09.2009
Offline
189
#28
estic #:

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

Чаты по своей сути ближе к темам форума, чем к почте и почтовым ящикам.

Тут всё упирается в логику работы бд

M3
На сайте с 09.02.2022
Online
80
#29
  • Если цель похожего на классический чат один на один, вы можете реализовать дополнительную логику в приложении для создания диалога, когда два пользователя впервые начинают общаться.
  • Для оптимизации работы можно добавить индексы на поля conversation_id, sender_id, created_at.
  • Дополнительная таблица «сообщений прочитанных» может быть реализована для отслеживания статуса прочтения для конкретного пользователя в конкретном чате (например, если требуется хранить отметку для каждого участника в группе).

Ниже приведён SQL-пример создания таблиц (пример на PostgreSQL):


-- Таблица пользователей

CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );


-- Таблица диалогов (бесед)

CREATE TABLE conversations ( id SERIAL PRIMARY KEY, name VARCHAR(100), is_group BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );


-- Таблица участников беседы (связующая таблица)

CREATE TABLE conversation_participants ( conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, joined_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (conversation_id, user_id) );


-- Таблица сообщений

CREATE TABLE messages ( id SERIAL PRIMARY KEY, conversation_id INTEGER NOT NULL REFERENCES conversations(id) ON DELETE CASCADE, sender_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, message_text TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status VARCHAR(20) DEFAULT 'sent' );


-- Индексы для ускорения выборок (опционально)

CREATE INDEX idx_messages_conversation ON messages(conversation_id); CREATE INDEX idx_messages_sender ON messages(sender_id);


-- Дополнительно можно создать таблицу для статуса чтения сообщений отдельным пользователям

CREATE TABLE message_read_status ( message_id INTEGER NOT NULL REFERENCES messages(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, read_at TIMESTAMP, PRIMARY KEY (message_id, user_id) );

Эта схема позволяет:

  • Отслеживать всех пользователей сайта.
  • Создавать диалоги/беседы, как для двух пользователей, так и для групповых чатов.
  • Хранить сообщения, отправленные в рамках каждого диалога.
  • Отслеживать участников бесед, их вступление в чат, а также при необходимости статус прочтения каждого сообщения для каждого пользователя.
S3
На сайте с 29.03.2012
Offline
340
#30
master32 #:
Ниже приведён SQL-пример создания таблиц (пример на PostgreSQL):

Ну что, вот совсем было лень отформатировать ответ от ГПТ-чата? Ты можешь в промпт вставить - "дай ответ в формате  документа README", тогда он ответит одним файлом, в котором уже будет необходимое форматирование.

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий