我有一個項目列表(如待辦事項列表),需要以特定順序呈現。此訂單可能會更改,並且可能會添加新項目(在任何位置)並刪除項目。我試圖決定什麼是存儲這些項目順序的好方法,以便於更新列表和顯示數據。在待辦事項列表中存儲訂單信息(我有2個選項)
我可以將訂單信息存儲在每個項目的字段中。這可以很容易地按照該字段對項目進行排序。但問題是如果我想在列表頂部添加一個新項目,我必須修改該列表中的所有其他項目(如果我有50個待辦事項,那麼我必須修改50個記錄)。
另一種選擇是將項目的順序存儲在待辦事項列表對象本身中。所以我會將訂單存儲爲字符串23,45,34,100
。如果順序改變,我只是改變待辦事項列表對象中的那個1字段。 問題是要呈現項目,我不能簡單地讓他們訂購。從數據庫中檢索項目後,我必須找出一種方法來根據該訂單字符串排序項目。
因此,任何提示存儲順序位的好方法?我有這2個選項,但我可以採用其他方式。我正在尋找能夠輕鬆呈現數據的東西,但在更改訂單時不會太難。
Sample data
id value order
----------------------
1 item 5 5
2 item 1 1
3 item 4 4
4 item 2 2
5 item 3 3
output
------
item 1 (id 2)
item 2 (id 4)
item 3 (id 5)
item 4 (id 3)
item 5 (id 1)
你可以發佈一些樣本數據和所需的o/p – Teja 2012-03-31 03:43:30
儘管更新會更長,我認爲你的第一種方法是更有意義的方法。將訂單保留爲數據庫中的字段,您將可以輕鬆查詢所需的信息。如果有變化,PHP將不得不循環/更新訂單。 – mikevoermans 2012-03-31 04:04:30
@mikevoermans我關心的不是php,而是數據庫本身。要更新,根據列表的長度,我必須打50次或更多的數據庫。這讓我有點擔心。 – sameold 2012-03-31 04:09:29