看板 PHP 關於我們 聯絡資訊
※ 引述《vincent20384 (風之水漾)》之銘言: : 各位大大好 : 目前我想寫一個功能是能夠記錄每天登入的會員 : 是連續登入了幾天 : 然後依據第幾天跑出不同的訊息這樣 : 可以給我一點方向嗎? 假如你有個資料表隨時記使用者登入時間 那你就可以 select distinct user,date_format(login_date,'YYYY-mm-dd') as date from login_history where user = '羽山' group by date_format(login_date,'YYYY-mm-dd') order by login_date desc limit 6 這樣應該就可以出現 user date 羽山 2015-04-07 羽山 2015-04-06 羽山 2015-04-04 ... 那你就可以開活動遊戲 連續登入日 ,活動 0 = 只有當日登入,下去領500 1 = 送草莓 2 = 送橘子 3 = 送蕃薯 4 = 送咖哩飯 5 = 送直升機 6 = 送過氣女藝人照片 接下來,你需要一個簡單的函式,把剛才查出的使用者資訊,看他到底連續登入了幾天 思考方向就是先從今日往前推,看你活動有幾天 2015-04-07 = 0 (當日) 2015-04-06 = 1 2015-04-05 = 2 2015-04-04 = 3 ... 然後就把剛才使用者的表,跟這個活動表,作迴圈的比較 如果比對失敗,就取那筆資料 function return_keep_login_days($user_login_data) { $keep_logins = 0; //Todo : 如果使用者的第一筆也不是當日,就跳出 //懶的寫了 // //下面的7假設是活動數量 for($i=0 ; i < 7 (同 count($活動)) ; i++) { if($user_login_data[$i]['date'] != $活動[$i]['date'] ) { return i; } } } 這樣此 i 就等於回應了使用者最後一次登入的連續日期的活動 id 大概是這樣吧~ :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.134.48.253 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1428397877.A.181.html ※ 編輯: shadowjohn (140.134.48.253), 04/07/2015 17:14:16 ※ 編輯: shadowjohn (140.134.48.253), 04/07/2015 17:14:44 ※ 編輯: shadowjohn (140.134.48.253), 04/07/2015 17:15:31
vincent20384: !!!!太棒了~我大概有想法了~非常謝謝你^^感恩 04/07 17:54