![]() | 1 NjcyNzMzNDQ3 2020-06-29 17:10:23 +08:00 要是想对用户更友好,就在前端搞个上"下移动按钮"代替用户输入数字呗 |
![]() | 2 dV9zZM1wROuBT16X 2020-06-29 17:18:54 +08:00 浏览器有拖曳功能,这样就很好排序了 |
![]() | 3 caola 2020-06-29 18:27:31 +08:00 如果一个要按用户输入的数字来排序, |
![]() | 4 caola 2020-06-29 18:28:53 +08:00 那么你可能用到 ->orderByRaw("FIELD(`xxx 字段`, '1', '3', '2', '4')") |
![]() | 5 guiling 2020-06-29 18:33:50 +08:00 via Android 1 置顶,取排序字段最大值+ 1,默认 0 2 上移下移, 交换排序字段,需要字段唯一 3 拖拽,一种是插入,需要修改之间所有排序字段,一种是交换,对前端要求高点,分页不好操作 |
6 faceRollingKB 2020-06-29 18:47:56 +08:00 瞎想的我也没试过:序号给成小数,插入某个位置时取上下值的平均数 |
7 RLWGQ0AI4MAvYy36 2020-06-29 19:58:28 +08:00 拖拽咯,其实涉及分页填数字挺好的 |
8 vvong 2020-06-29 20:07:58 +08:00 前端 sortablejs 这个插件实现拖拽排序 |
![]() | 9 x86 2020-06-29 20:13:03 +08:00 via iPhone 前端拖拽去做呗 |
10 lijialong1313 2020-06-29 20:26:31 +08:00 这个第一次执行的时候,前端排序好,提交到后台留一个字段。 以后就按照这个字段排序,例如叫做 sortNum |
![]() | 11 RickyC 2020-06-29 22:32:31 +08:00 如果列表里的条数不太多的话: 1. 数据表: 添加 order_num 字段, 前端视图按照 order_num 显示默认顺序 2. 前端视图: 给每项添加"上移","下移"键, 或者是可以拖拽; 每次更改顺序后, 给所有的 item 在前端重新生成 order_num; 把所有的 order_num 按照 id 更新到数据库, 即保存了新的顺序 |
![]() | 12 Steps 2020-06-29 22:36:13 +08:00 datatables 也可以帮助你排序 |
![]() | 14 selfcreditgiving 2020-06-30 22:47:48 +08:00 via Android 这个是不是菜单列表啊? 最后也是选择把所有 order_id 更新一遍。因为 1234 把 4 放到 1,2 中间,基本所有序号都要变了。主要是菜单也不会有很多 |
15 vjack OP @selfcreditgiving 对,类似菜单列表 |