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

时间:2012-02-27 16:13:09

标签: php mysql dynamic position

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

我将发布一个我的数据库看起来像什么以及我需要做什么的例子。

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

我需要的是一种动态编辑DB的“顺序”列的方法,如果我要将'A2'的顺序更改为'2',它将自动更改'A4'的顺序最初为'2'并将其更新为'A2'的任何顺序,即'3'

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

提前致谢

1 个答案:

答案 0 :(得分:1)

  

将'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;