2011-08-20 40 views
0

我即將創建一個新的競賽網站,用戶可以上傳圖片/投票。連續行動的成就係統

我想根據一些非常容易的「成就」添加一些成就獎勵/徽章。

成就例子: 登錄連續5天 - 登錄連續10天 - 登錄連續20天

投票5張圖片(不是你) - 投票5張,連續5天

我希望能夠添加更多的成就,而不會在以後添加太多的代碼。一個基本的規則引擎將被創建。

現在..我有一些麻煩試圖想出如何做到這一點。任何人都做了類似的事情,想共享數據庫結構/編碼示例,或者有一個好主意的人?

閱讀關於SO上的主題的50個不同線程,但找不到任何可用的東西。

+0

您已經完成的任何表結構?你已經嘗試過什麼?由於成就可能各不相同,他們可能需要具體的結構。例如,對於連續的事情,您需要保留2個字段 - 一個用於維護日期和另一個用於計數。也許,像這樣: 1. achievement_id - 標識哪個成就viz login,picture_vote等 2. user_id - 跟蹤哪個用戶 3. last_access_date - 最後一次嘗試成就的日期 4. count 所以,此表中的總記錄數=用戶數*成就數 – Abhay

回答

0

在表格中新建一個包含最後活動日期的字段(可能將其命名爲lastactivity),然後創建另一個字段並將其命名爲consecutive。之後,每次用戶登錄(或投票)時,檢查上次活動日期,如果是昨天,則將字段consecutive的值加1並更新lastactivity字段。否則,將其重置爲1.