Как работает функция upvote, оставаясь на той же странице? (PHP / MySQL)

У меня есть реляционная база данных и система потоков / комментариев. У меня возникают проблемы с поиском способа решения проблемы с голосованием, поскольку страница должна быть обновлена, чтобы сервер мог заметить любые изменения.

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

2

Решение

Да, есть лучшее решение. Это называется AJAX. Он отправляет сообщение или запрос на получение на сервер и получает выходные данные без перезагрузки страницы.

Сценарий на сервере, который получает запрос ajax, может (в вашем случае) увеличить счетчик голосов в БД.

Скрипт (обычно PHP-) также может выводить что-то (обычно json или код состояния), которое получит обработчик успеха функции ajax. Затем вы можете изменить свою страницу с помощью JavaScript соответственно. В вашем случае вы можете получить текущий подсчет голосов и обновить счетчик рядом с кнопкой upvote, если он есть.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]