以淘寶網領取淘金幣的簽到系統為例:
目標:
第一天簽到增加5個積分;第二天連續簽到則增加8個積分;第三天連續簽到,增加11個積分,第四天連續簽到,增加15個積分;第五天連續簽到,增加19個積分;第六天連續簽到,增加24個積分;第七天連續簽到,增加29個積分;第八天以後的連續簽到,都增加29個積分。連續簽到斷開,則積分從第一天開始計算。
思路:
這個比較簡單,思路是這樣的:
在使用者表裡新增一個連續登入的欄位,如果每天連續登入自增1,如果超過24小時的話就直接歸0.
再增加一個最後登入的時間,格式是時間戳的。
首先判斷最後登入的時間和現在的時間的時間差值是多少,函式如下:
function checkTime() {
if (time() - 最後登入時間 > 24*60*60 ) { // 判斷時間是否大於24小時
// 讓欄位歸0
}
?>
這個樣子就可以了。
至於加分就簡單了。
如果欄位值為:
1就加5,
2就加8,
3就加11,
4就加15,
5就加19,
6就加24,
大於7就加29
以淘寶網領取淘金幣的簽到系統為例:
目標:
第一天簽到增加5個積分;第二天連續簽到則增加8個積分;第三天連續簽到,增加11個積分,第四天連續簽到,增加15個積分;第五天連續簽到,增加19個積分;第六天連續簽到,增加24個積分;第七天連續簽到,增加29個積分;第八天以後的連續簽到,都增加29個積分。連續簽到斷開,則積分從第一天開始計算。
思路:
這個比較簡單,思路是這樣的:
在使用者表裡新增一個連續登入的欄位,如果每天連續登入自增1,如果超過24小時的話就直接歸0.
再增加一個最後登入的時間,格式是時間戳的。
首先判斷最後登入的時間和現在的時間的時間差值是多少,函式如下:
function checkTime() {
if (time() - 最後登入時間 > 24*60*60 ) { // 判斷時間是否大於24小時
// 讓欄位歸0
}
}
?>
這個樣子就可以了。
至於加分就簡單了。
如果欄位值為:
1就加5,
2就加8,
3就加11,
4就加15,
5就加19,
6就加24,
大於7就加29