Как я могу найти изменения в таблице лидеров Mysql? Например, если пользователь перемещается вперед, файл может выдать сообщение, такое как «x перемещено на одно место и теперь впереди y»Таблица лидеров PHP/MySQL и обнаружение изменений
0
A
ответ
2
В отсутствие какого-либо существующего кода единственной рекомендацией, которую я могу сделать, является создание столбец таблицы лидеров, который содержит предыдущую позицию пользователя. Всякий раз, когда позиция пользователя обновляется до нового значения, одновременно сохраняйте предыдущую позицию в этом столбце.
UPDATE leaderboard SET oldposition = position, position = $new_position WHERE userid = $userid;
Вы также можете создать столбец, который держит логическое значение, указывающее, был ли пользователь был проинформирован об этом изменении. При первом отображении сообщения значение boolean равно 1. После этого вам больше не нужно будет отображать его для пользователя, пока он не изменится.
UPDATE leaderboard
SET
oldposition = position,
position = $new_position,
notified = 0
WHERE userid = $userid;
После отображения нового изменения, флаг как оповещается последующие просмотры страниц не показывают то же самое сообщение.
UPDATE leaderboard SET notified = 1 WHERE userid = $userid;
Это будет трудный вопрос для ответа, просто потому, что существует так много разных способов сделать это. Вы что-то пробовали? –