Вячеслав Онуфриюк: а если у каждого пользователя несколько переписок с разными пользователями ? 2-4, 2-8, 2-15 и каждую нужно выводить отдельно в новом окне. А на главной просто выводить по очереди список пользователей с которыми общаешься
Нужно вот что. В таблице User есть group (например: парикмахер и клиент). Клиент авторизуется на сайте и ему в профиле парикмахера появляться форма для свази (textarea). Одному парикмахеру может написать много клиентов. И нужно разделить это по каналам переписки. Парикмахер заходит в свой аккаунт в раздел сообщений и видит что ему написал клиент Артем, Саша, Дима. Кликнув на клиента ему открывается канал переписки с одной стороны сообщения клиента с другой стороны сообщения парикмахера. И так для каждого клиента свой канал. Между 2 юзерами будет всего одна переписка.
Как я понимаю создаем таблице messages (id, sender_id, receiver_id, message, date time, is_read ) и таблица channel () и что должна содержать она ?
Не могу сообразить как тогда разделить сообщения по группам. Например пользователь 5 вел переписку с пользователе 3, 6,10,15. Получаеться нужно вывести каждую переписку по отдельности
Петр: ну с этой стороны да, если добавить новую группу например визажиста появиться новая таблица и у нее будет user_id по которому можно будет отсортировать пользователей, в общем ход мыслей понятен.
Но с другой стороны пользователь заходит на сайт и нажимает регистрацию и ему предлагает 2 варианта парикмахер и клиент
Петр: "users [usergroup] точно лишнее, т.к. пользователь может входить в 2 группы." А как по другому разделить пользователей в таблице users и понять кто есть кто ? Если пользователь входит в 2 группы можно создать связь многие ко многим как я описал выше и присваивать индикаторы групп к каждому пользователю. Да и вообще можно сделать тупо один user один профиль
Петр: а если сделать вот так: основная таблица users (id, username, email (в качестве логина), password, usergroup (1 - парикмахер, 2 - клиент) ) и 2 таблицы профилей prifile_photog (id, user_id, avatar, firstname, lastname, стрижки, price и тд) и profile_client (id, user_id, avatar, firstname, lastname) вдруг в будущем придется расширить таблицу клиентов.
Юзер проходит авторизацию и мы делаем проверку если он относиться к первой группе выводим ему профиль парикмахера, если ко второй клиента.
В данном случае мы видим что 2 таблицы профилей содержат одинаковые столицы (avatar, firstname, lastname) которые в принципе можно вынести в основную таблицу users, но в данном случае таблицу клиентов сложно будет расширять дальше.
Реализовать очень простую форму регистрации (login и password). Получается клиент проходит форму регистрации и попадает в свой пустой профиль, который ему нужно заполнить (Указать ФИО и загрузить аватарку)
Суть заключается в том, как же поступить. Создать 3 таблицы или все же обойтись 2. И хранить в USERS (id, avatar, firstname, lastname, email, password), но аватарку на стадии регистрации грузить будет странно)
А если нам нужно будет добавить новую группу пользователей, например визажист и у него будет своя таблица