2014-01-12 19 views
0

我想實現一種方法來根據列表中元素從最舊到最新添加的順序對列表中的元素進行排序。在創建的DATETIME中,使用ORDER BY可以很容易地做到這一點。問題是我希望能夠上下移動列表中的元素,並將該順序保存在數據庫中,但也要確保將新元素放在列表的末尾。CakePHP中的MySQL可編輯排序索引

我想過使用一個INT索引,只是增加了每個添加到列表中的新項目。然後,當現有項目在列表中向上或向下移動時,交換索引編號。這聽起來像是達到這一結果的最佳方式嗎?如果沒有,任何人都可以提供一些更好的方法的見解。謝謝

+1

拖放排序教程應該涵蓋此 – Strawberry

+0

看到像http://www.willis-owen.co.uk/2011/11/cakephp-ajax-sortable-list-with-updates/ – mark

+0

好東西,看起來像這樣是我正在考慮在MySQL和PHP中這樣做的方式。如果有人想用更多細節創建答案,我會將其標記爲答案。 –

回答

0

所以我最終解決了這個問題,在MySQL表中使用了一個名爲order的INT字段。添加新項目時,訂單字段僅從表格中的前一個最大訂單增加。當物品按順序向上或向下移動時,所有其他物品的訂單都會相應地向上或向下移動,以便訂單號始終保持連續。在刪除時,訂單也下移。