как сохранить, пользователи голосуют по комментарию к mysql через php?

Как сохранить, пользователи голосуют по конкретному комментарию? Например, если кому-то нравится комментарий, добавленный на сайте, то он нажмет (+), кнопка или другой путь нажмут (-) кнопка. Как я мог сохранить эту информацию к mysql, так, чтобы, когда пользователь возвращаются к сайту, я мог показать его голос по комментарию? Что-то как Facebook комментирует как система. Я должен составить новую mysql таблицу для записи их всех? Принятие пользователя уже является зарегистрированным пользователем.

моя текущая таблица комментария

id | date | userid | page | comment |

Я ожидаю что-то как

$username - $date
$comment <no.of likes> likes, <no.of hates> hates.
1
задан kornesh 26 July 2010 в 15:06
поделиться

1 ответ

Вы описываете отношение «многие ко многим». Вам понадобится промежуточная таблица между пользователями и комментариями, поскольку любой пользователь может проголосовать за любой комментарий, а за любой комментарий могут проголосовать любые пользователи. Это может быть что-то вроде этого:

user_id | comment_id | direction

Если вам не нужно хранить какие-либо данные о том, кто за что проголосовал, вы можете просто добавить столбец score в свою таблицу комментариев, который будет увеличиваться или уменьшаться всякий раз, когда пользователь голосует. Вы также можете сделать и то, и другое, если хотите быстро получить оценку комментариев по мере их отображения, но сохранить информацию о том, кто за что проголосовал позже.

править:

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

2
ответ дан 2 September 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: