※ 引述《knives ()》之銘言:
: 我想要做一個記錄連續登入的天數的功能
: 比方說某user從星期一到星期四都有進來網站
: 可是星期五那天中斷,到了星期六或星期天才進來網站
: 那連續登入的天數就變回 1
: 我在資料庫有記錄 某user上次進來的網站的時間unix stamp
: 那麼我要怎麼判斷這次進來是恰好是隔天,才算連續登入
: 我目前是這樣寫
: $lastdate = strtotime (gmdate('Y-m-d',$lastlogin))/86400;
: $nowdate = strtotime (gmdate('Y-m-d',$nowlogin) )/86400 ;
: if( intval($nowdate - $lastdate) == 1 )
: { //這次時間-上次時間,如果 = 1 就算過一天
: }
: 可是總覺得有些問題,不知道怎麼寫比較好
: 謝謝
如果可以更動資料表格式的話
userPky => 誰
lastlogin => datetime, 上次登入時間
continual => 連續登入次數
lastlog => date, 最後一次記錄的日期
登入時把 sql schema 丟給資料庫處理就好了(ex: mysql)
UPDATE user SET coutinual=IF(datediff(NOW(),lastlogin)=1, coutinual+1, 0),
lastlogin=NOW(), lastlog=NOW() WHERE lastlog<>"$today" AND userPky=$who;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.137.169