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

TP3.2.3 + MYSQL 關(guān)于簽到功能設(shè)計(jì)的問(wèn)題

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


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

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


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

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

回答
編輯回答
氕氘氚

想了一下目前還是在副表中查詢(xún)本周的記錄,如果記錄等于7條表示已經(jīng)本周簽到了7天,實(shí)在想不到更好的方法了。

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

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

2017年6月30日 18:37