PHP/MySQL 每周轮值表

标签 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 来实现这一点?

最佳答案

设置每周 cron 作业:

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

如果订单列中的值限制为“0”:

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

关于PHP/MySQL 每周轮值表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088576/

相关文章:

php - UTF 8 编码与 Mysql 数据库

php - 使用 PHP 从 html 标签中删除属性,同时保留特定属性

php - 具有特殊字符的值在 mysql 数据库中最终会有所不同

multithreading - 在 python 中使用 get_nowait() 而不引发空异常

php - php 中有哪些好的分布式队列管理器?

performance - 如何构建更快的 Queue 实现?

php - 如何从 php 文件启动 unoconv

javascript - 将查询结果导出到json文件

php - 按行和每行列将表与另一个表进行比较

php - 如何在php中从数据库中的数组中添加多行