[英]PHP/MySQL leaderboard and detecting changes
我怎樣才能檢測Mysql排行榜中的變化? 例如,如果用戶向前移動另一個文件,則該文件可以回顯出諸如“x移動一個地方並且現在位於y之前”的消息
在沒有任何現有代碼的情況下,我可以做的唯一建議是在排行榜表中創建一個包含用戶之前位置的列。 每當用戶的位置更新為新值時,同時將該位置中的先前位置存儲起來。
UPDATE leaderboard SET oldposition = position, position = $new_position WHERE userid = $userid;
您還可以創建一個包含布爾值的列,指示是否已通知用戶此更改。 第一次顯示消息時,布爾值設置為1.之后,您不需要再為用戶顯示它,直到它發生更改。
UPDATE leaderboard
SET
oldposition = position,
position = $new_position,
notified = 0
WHERE userid = $userid;
顯示新更改后,將其標記為已通知,以便后續網頁瀏覽不顯示相同的消息。
UPDATE leaderboard SET notified = 1 WHERE userid = $userid;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.