CakePHP中的MySQL可编辑排序索引

时间:2014-01-12 01:54:31

标签: php mysql

我正在尝试实现一种方法,根据从最旧到最新添加的顺序对列表中的元素进行排序。在创建的DATETIME上使用ORDER BY在MySQL中很容易做到这一点。问题是我希望能够在列表中上下移动元素并将该顺序保存在数据库中,但也要确保将新元素放在列表的末尾。

我想过使用INT索引,只是为每个添加到列表中的新项增加该索引。然后,当在列表中向上或向下移动现有项目时,交换索引编号。这听起来像是实现这一结果的最佳方式吗?如果没有,任何人都能够提供一些更好的方法。感谢

1 个答案:

答案 0 :(得分:0)

所以我最终通过使用名为order的MySQL表中的INT字段来解决这个问题。添加新项目时,订单字段仅从表格中的上一个最大订单增加。当按顺序向上或向下移动项目时,所有其他项目订单会相应地向上或向下移动,以便订单编号始终是连续的。在删除时,订单也会向下移动。