鍍金池/ 問答/PHP  數(shù)據(jù)庫/ TP3.2.3 + MYSQL 關于簽到功能設計的問題

TP3.2.3 + MYSQL 關于簽到功能設計的問題

目前兩張表:(主表每個用戶一條記錄,副表每次簽到都會添加一條)


主表:id(自增) | uid(用戶id) | days(簽到總次數(shù)) | con_days(連續(xù)簽到次數(shù)) | sign_time(最后簽到時間)
days:每次簽到都+1。
con_days:根據(jù) sign_time 字段來判斷昨天是否已簽到,簽到了就+1,否則就保存為 1。

副表:id(自增) | uid(用戶id) | create_time(簽到時間)


簽到功能需求是這樣的:
用戶每天允許簽到一次,本周連續(xù)簽到滿勤獎勵積分(這里指的是每周只要連續(xù)簽到滿7天都會有積分獎勵,中途斷簽是不獎勵)

該如何統(tǒng)計本周是否連續(xù)簽到 7 天,表設計有哪些問題?

回答
編輯回答
氕氘氚

想了一下目前還是在副表中查詢本周的記錄,如果記錄等于7條表示已經本周簽到了7天,實在想不到更好的方法了。

2017年7月18日 18:10
編輯回答
涼心人

感覺一張表就夠了,最后簽到日期,連續(xù)簽到總數(shù)。
簽到,先判斷最后簽到日期是不是昨天?是昨天,連續(xù)簽到總數(shù)加+1;不是昨天,連續(xù)簽到總數(shù)變成1。
至于獎勵問題,很好算,比如說周日這天,最后簽到日期是昨天,然后連續(xù)簽到總數(shù)-6大于等于0,那就說明滿足獎勵了。

2017年6月30日 18:37