PHP / MySQL Weekly Rota

时间:2012-08-23 09:24:30

标签: php mysql queue

我有一个特定订单的用户列表。每周我都要将队列的顺序颠倒一个,例如

Week 1
User | Order
a    | 1
b    | 2
c    | 3

Week 2
User | Order
b    | 1
c    | 2
a    | 3

依旧......

有没有一种简单的方法可以通过PHP和MySQL实现这一目标?

1 个答案:

答案 0 :(得分:1)

设置每周一次的cron作业:

  1. 首先,您必须将1个订单减去所有行:UPDATE TABLE SET Order = Order-1
  2. 然后您必须更改“0”值订单:UPDATE TABLE SET Order = MAX(Order)+1 WHERE Order = 0
  3. 如果您在Order colummn中限制为“0”值:

    1. 首先,您必须更改“1”值订单:UPDATE TABLE SET Order = MAX(Order)+1 WHERE Order = 1
    2. 然后您必须将1个订单减去所有行:UPDATE TABLE SET Order = Order-1