Re: [請益] 登入累加

看板PHP作者 (Nio)時間10年前 (2015/04/07 23:00), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《vincent20384 (風之水漾)》之銘言: : 各位大大好 : 目前我想寫一個功能是能夠記錄每天登入的會員 : 是連續登入了幾天 : 然後依據第幾天跑出不同的訊息這樣 : 可以給我一點方向嗎? 如果只要計算連續登入幾天,超過1天就重新計算。 這樣的需求很簡單, 首先有張表基本紀錄: user_id , last_time, login_num last_time 使用時間戳就好。 在登入時抓當時時間 $now=time(); 並取表中會員紀錄。 $R= $now - $last_time; if( $R > 86400 ) { // 大於一天的才處理 if ( $R < 86400*2){ // 介於 24~48小時視為連續登入 $login_num +=1; } else { //超過 48小時重新計算 $login_num = 1; } } 比對 $login_num 就是連續登入天數。 最後記得把 $now 和 $login_num 更新表中資料就行了。 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.192.26 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1428418818.A.AF5.html

04/08 00:17, , 1F
這方法真不錯~
04/08 00:17, 1F

04/08 09:37, , 2F
是要計算連續登入天數,要比較日期不能比較秒數差 0.0
04/08 09:37, 2F

04/08 14:10, , 3F
說的也是!
04/08 14:10, 3F

04/08 22:57, , 4F
用date相減也行。但兩天相隔不會大於86400秒,用數字相減
04/08 22:57, 4F

04/08 22:57, , 5F
省下函式轉換
04/08 22:57, 5F

04/09 00:55, , 6F
不知道能不能在SQL中就解決~應該可以呦..
04/09 00:55, 6F

04/09 01:11, , 7F
這題目沒有防弊要求,考量有在零點前後登入賺取連續2天登入
04/09 01:11, 7F

04/09 01:11, , 8F
的需求,用日期計算就好
04/09 01:11, 8F

04/09 01:15, , 9F
mysql 可用 datediff 計算
04/09 01:15, 9F
文章代碼(AID): #1L8_42hr (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
3
9
文章代碼(AID): #1L8_42hr (PHP)