質問するログイン新規登録

回答編集履歴

1

e

2022/02/13 14:19

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,4 +1,6 @@
1
1
  それは「並べ替え」ではなく「表示順操作」となるので別の概念では?
2
2
  対象テーブルに「表示順」という項目が必要です。
3
3
  対象行の「現在の表示番号」と「更新する表示番号」を保持しておき
4
- 上にしたか下にしたかでupdateの基準をかえます( `set order = order+1 where order > $1`みたいなSQLを実行することになる)そのうえで、update後のデータを再取得して再表示
4
+ 上にしたか下にしたかでupdateの基準をかえます( `set order = order+1 where order > $1`みたいなSQLを実行することになる)そのうえで、update後のデータを再取得して再表示
5
+
6
+ ただ、カテゴリ順を維持するのであれば、ソートの優先度は気にしなければなりません(updateの条件も注意)