PHP和MySQL:动态位置/订单更新


PHP and MySQL: Dynamic position/order update

我正在用PHP构建某种CMS,遇到了一个问题,希望你们能帮我解决。

我将发布一个例子,说明我的数据库是什么样子的,以及我需要做什么。

ID | Name | Order
 1 | A1   | 1
 2 | A2   | 3
 3 | A3   | 4
 4 | A4   | 2

我需要的是一种动态编辑DB的"顺序"列的方法,就像我要将"A2"的顺序更改为"2"一样,它会自动更改"A4"的顺序,而"A4"最初是"2",并将其更新为"A2"是什么顺序,即"3"

如果这还不够清楚,我会非常乐意对我的数据库进行屏幕截图,以进一步澄清它。

提前感谢

将"A2"的顺序更改为"2",它将自动更改最初为"2"的"A4"的顺序,并将其更新为任何顺序"A2"是,即"3"

UPDATE Orders SET `Order` = (SELECT `Order` FROM Orders WHERE id = 2) WHERE `Order` = 4;
UPDATE Orders SET `Order` = 3 WHERE id = 2;