Как выполняется функция повышения голоса, оставаясь на той же странице? (PHP/MySQL)


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

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

Author: theupandup, 2017-11-24

1 answers

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

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

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

 2
Author: Cashbee, 2017-11-24 14:26:27