Как сохранить, пользователи голосуют по конкретному комментарию? Например, если кому-то нравится комментарий, добавленный на сайте, то он нажмет (+), кнопка или другой путь нажмут (-) кнопка. Как я мог сохранить эту информацию к mysql, так, чтобы, когда пользователь возвращаются к сайту, я мог показать его голос по комментарию? Что-то как Facebook комментирует как система. Я должен составить новую mysql таблицу для записи их всех? Принятие пользователя уже является зарегистрированным пользователем.
моя текущая таблица комментария
id | date | userid | page | comment |
Я ожидаю что-то как
$username - $date
$comment <no.of likes> likes, <no.of hates> hates.
Вы описываете отношение «многие ко многим». Вам понадобится промежуточная таблица между пользователями и комментариями, поскольку любой пользователь может проголосовать за любой комментарий, а за любой комментарий могут проголосовать любые пользователи. Это может быть что-то вроде этого:
user_id | comment_id | direction
Если вам не нужно хранить какие-либо данные о том, кто за что проголосовал, вы можете просто добавить столбец score
в свою таблицу комментариев, который будет увеличиваться или уменьшаться всякий раз, когда пользователь голосует. Вы также можете сделать и то, и другое, если хотите быстро получить оценку комментариев по мере их отображения, но сохранить информацию о том, кто за что проголосовал позже.
править:
Подумав, возможно, вы захотите избежать столбца очков
. Вы можете столкнуться с ситуацией, когда один пользователь может проголосовать за комментарий более одного раза, если вы не отслеживаете, за какие комментарии этот пользователь уже проголосовал.