首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vjack
V2EX  ›  PHP

laravel 框架、 PHP 语言 后台管理系统,实现一个列表排序功能,人工控制顺序,请教下有什么好的实现思路,我只想到了让用户输入数字 1,2,3,4,5 来进行控制。谢谢各位大佬赐教

  •  
  •   vjack · 11 天前 · 1157 次点击
    15 条回复    2020-07-08 10:23:35 +08:00
    NjcyNzMzNDQ3
        1
    NjcyNzMzNDQ3   11 天前
    要是想对用户更友好,就在前端搞个上"下移动按钮"代替用户输入数字呗
    Flourite
        2
    Flourite   11 天前
    浏览器有拖曳功能,这样就很好排序了
    caola
        3
    caola   11 天前
    如果一个要按用户输入的数字来排序,
    caola
        4
    caola   11 天前
    那么你可能用到 ->orderByRaw("FIELD(`xxx 字段`, '1', '3', '2', '4')")
    guiling
        5
    guiling   11 天前 via Android
    1 置顶,取排序字段最大值+ 1,默认 0
    2 上移下移, 交换排序字段,需要字段唯一
    3 拖拽,一种是插入,需要修改之间所有排序字段,一种是交换,对前端要求高点,分页不好操作
    faceRollingKB
        6
    faceRollingKB   11 天前
    瞎想的我也没试过:序号给成小数,插入某个位置时取上下值的平均数
    kongyian
        7
    kongyian   11 天前
    拖拽咯,其实涉及分页填数字挺好的
    vvong
        8
    vvong   11 天前
    前端 sortablejs 这个插件实现拖拽排序
    x86
        9
    x86   11 天前 via iPhone
    前端拖拽去做呗
    lijialong1313
        10
    lijialong1313   11 天前
    这个第一次执行的时候,前端排序好,提交到后台留一个字段。
    以后就按照这个字段排序,例如叫做 sortNum
    RickyC
        11
    RickyC   11 天前
    如果列表里的条数不太多的话:

    1. 数据表: 添加 order_num 字段, 前端视图按照 order_num 显示默认顺序
    2. 前端视图: 给每项添加"上移","下移"键, 或者是可以拖拽;
    每次更改顺序后, 给所有的 item 在前端重新生成 order_num;
    把所有的 order_num 按照 id 更新到数据库, 即保存了新的顺序
    Steps
        12
    Steps   11 天前
    datatables 也可以帮助你排序
    vjack
        13
    vjack   10 天前
    @vvong 谢谢啦,我一会试下
    selfcreditgiving
        14
    selfcreditgiving   10 天前 via Android
    这个是不是菜单列表啊? 最后也是选择把所有 order_id 更新一遍。因为 1234 把 4 放到 1,2 中间,基本所有序号都要变了。主要是菜单也不会有很多
    vjack
        15
    vjack   2 天前
    @selfcreditgiving 对,类似菜单列表
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2522 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:03 · PVG 10:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.