Блок комментариев PHP MySQL

61
5

Я создал окно комментария успешно используя PHP с MySQL. Структура таблицы комментариев:

CommentID PK AI
Name
Email
Comment
CommentDateTime

Я не использовал идентификатор для идентификации страницы, на которую прокомментирован, потому что я использую это только в одном.

Когда пользователь войдет в систему, поле ввода для имени и электронной почты исчезнет, и будут использоваться имя пользователя и адрес электронной почты, которые хранятся в переменной сеанса. Все работает отлично, но мне нужно использовать изображение пользователя, которое сохраняется в MySQL, для отображения в поле комментариев.

Должен ли я добавлять UserID в таблицу комментариев? Что делать, если комментарий принадлежит не пользователю, тогда я должен просто добавить null или 0? Я очень смущен тем, как работать с комментарием, используя изображение пользователя.

спросил(а) 2021-01-19T14:38:08+03:00 2 месяца, 3 недели назад
1
Решение
62

Вы пытаетесь связать информацию из двух таблиц, так как вы хотите использовать изображение, если пользователь зарегистрирован, поэтому вам нужно отношение, чтобы установить соединение между 2. Итак, да, вам понадобится поле UserID в таблице, чтобы сделать соединение,

Если это происходит от незарегистрированного/не зарегистрированного пользователя, вы можете установить USER_ID равным null.

Если комментарий от зарегистрированного пользователя, вы можете оставить это имя в таблице комментариев пустым и извлечь его из таблицы пользователя (то же самое касается электронной почты). Таким образом, вы избежите избыточности данных. (Предположите, что у вас зарегистрированный пользователь, который оставляет массу комментариев, без идентификатора пользователя, вы будете хранить его имя и отправлять по электронной почте массу раз, что вам не нужно).

Надеюсь, это поможет.

ответил(а) 2021-01-19T14:38:08+03:00 2 месяца, 3 недели назад
62

Я знаю, что это не совсем то, что вы искали, но я нахожу одно из этих готовых решений для комментариев лучше для своих проектов веб-сайта... некоторые из наших довольно простых (даже примитивных), но некоторые из них довольно настраиваемы и просты в использовании! моим любимым временем было бы поле комментариев flexi

ответил(а) 2021-01-19T14:38:08+03:00 2 месяца, 3 недели назад
44

Есть один вариант, который вы можете попробовать. Вы можете проверить пользователя с адресом электронной почты в таблице комментариев. Я думаю, вы бы сохранили электронную почту как уникальное поле. Для обычного пользователя или незарегистрированного пользователя вы можете поместить изображение по умолчанию. Это изображение по умолчанию будет работать для всех незарегистрированных пользователей.

ответил(а) 2021-01-19T14:38:08+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема