我試圖重新排序後經提交下拉框的更新一個項目的位置(其中有分配給一個名字根據他們的位置的列表PHP變量$ position)。下面是一個例子,與它們在列表中順序代表的位置:MySQL的案例說明(如果否則,如果換算)
- 項目1
- 項目2
- 項目3
- 項目4
- 項目5
我使用下面的MySQL查詢:
UPDATE subjects SET
position = position + 1
WHERE position <= position AND position >= {$position};
如果我是移動項目5至2位置該查詢將向下移動一個位置,從位置2推一切4,導致:
- 項目1
- 項目5 < < <上升
- 項目2
- 項目3
- 項目4
但是,如果我想向下做相反的事情和移動的項目,位置就需要成爲一個都不能少(位置=位置 - 1),以及< =和> =跡象會掉。因此,我想知道如何在case參數中執行此操作(相當於if {else else if {})
什麼是 「search_condition」 是什麼意思?由於 – Justin
無需諷刺。目前還沒有完全清楚它應該在什麼格式;我假定這將是:「位置<$位置」,然後在「位置> $位置」 – Justin
下面的查詢提供了一個錯誤: \t \t \t $查詢=「更新的被攝對象 \t \t \t \t \t位置= (例如當位置<{$位置}則位置+ 1當位置> {$位置}則位置-1否則位置END CASE) \t \t \t \t \t WHERE position <= position AND position> = {$ position} AND menu_type ='{$ menu_type}'「; – Justin