从用户列表中,我需要根据谁先进来并根据我剩下的点数给出点数。MYSQL + PHP:数组和循环
我在想......
- 获取新用户的列表,并计算积分给予。
- 将这些点加入昨天遗留的任何点。
- 生成旧用户和新用户的列表。
- 通过用户循环,并根据谁先进来给予他们1分,而不超过每人每日积分上限和当天总积分。
现在我已经有1-3下来,但我有什么要完成这件事的最佳方法与4
麻烦吗?
样本数据:
UserId | Points | Date In
1 | 3 | 2014-09-22 12:00:00
2 | 2 | 2014-09-22 12:00:02
3 | 1 | 2014-09-22 01:10:05
正如你所看到的,用户ID在1第一次登录,他得到1分。当UserId 2登录时,UserId 1获取另一个点,UserId 2获取一个点。当UserId 3登录时,UserId 1会得到另一个点,UserId 2和3也会得到另一个点。这会一直持续到用户达到每日上限或者没有更多积分。
我很感激任何帮助,我可以得到...
谢谢!
编辑:的,我想是在样品:
伪代码:
WHILE points <= 0 {
DO {
list users and distribute points to users by cycling through each one
} WHILE dailypointscap <=10
**如果dailypointscap的用户达到10个点达到0之前,请从列表中的用户,然后通过循环再次列出。
我希望我做的意义在这里...
如果用户登录两次,该怎么办? – 2014-09-22 07:28:12
好问题。系统只会将您登录一次。初次登录后的多次登录将被忽略。 – 2014-09-22 07:56:59