美文网首页
php拖拽移动算法,php接口实现拖拽排序功能

php拖拽移动算法,php接口实现拖拽排序功能

作者: 响呼雷 | 来源:发表于2023-02-28 13:31 被阅读0次
接口设计:
//$ids 这十条数据的id集合,逗号隔开的字符串
//$oldIndex 原始位置,从0开始算
//$newIndex 要拖动的位置
function dragSort($ids,$oldIndex,$newIndex)
{
//保证查找出来的数据跟前台提交的顺序一致,这里要order by field
//id 主键 sort 排序值
$sql = "select id,sort from 表名字 where id in ($ids) order by field(id, " . $ids . ") ";
$list = "这里省略,就是去数据库找嘛";
//id集合
$idArr = [];
//排序集合
$sortArr = [];
foreach ($list as $item) {
  $idArr[] = $item['id'];
  $sortArr[] = $item['sort'];
}
//记录要拖动的id
$oldValue = $idArr[$oldIndex];
//删除这个要拖动的id
unset($idArr[$oldIndex]);
//插入新的位置,并自动移位
array_splice($idArr, $newIndex, 0, $oldValue);
//重新设置排序
$set = [];
for ($i = 0; $i < count($idArr); $i++) {
  $set[$i]['id'] = $idArr[$i];
  $set[$i]['sort'] = $sortArr[$i];
}
//保存到数据库省略
}
        示例
       //id集合
       $idArr = [1,2,3,4,5,6];
        //排序集合
        $sortArr = [1,2,3,4,5,6];
        //记录要拖动的id
        $oldValue = $idArr[$oldindex];
        //删除这个要拖动的id
        unset($idArr[$oldindex]);
        //插入新的位置,并自动移位
        array_splice($idArr, $newindex, 0, $oldValue);
        //重新设置排序
        $set = [];
        for ($i = 0; $i < count($idArr); $i++) {
            $set[$i]['id'] = $idArr[$i];
            $set[$i]['sort'] = $sortArr[$i];
        }
        dd($set);
image.png

相关文章

  • POS-2017

    拖拽排序功能 实现方法: 使用jquery的Sortable功能可以实现拖拽功能 index页面 html部分 商...

  • js实现拖拽

    ①鼠标按下+鼠标移动 → 拖拽②鼠标松开 → 无拖拽③鼠标偏移 → 拖拽距离 js实现 ① onmousedown...

  • DOM拖拽排序(JavaScript)

    实现拖拽排序功能,废话少说,上代码 html部分 js部分 效果如下

  • react.js 拖拽

    react.js拖拽排序功能的实现 1.使用 react-dnd npm install--save react-...

  • 可拖拽GridView代码解析

    分为三步来说明拖拽是怎么实现的。 1)如何让拖拽的Item来随着手指的移动而移动。 2)拖拽过程中相关item的移...

  • Unity2D垃圾分类小游戏

    通过拖拽实例化的垃圾到制定的垃圾桶里,实现游戏逻辑。Unity实现对UI的拖拽。移动。

  • 小程序拖拽排序组件 Drag

    仿发朋友圈,图片拖拽排序功能,小程序拖拽排序组件 效果演示 地址:https://github.com/yijin...

  • HTML5拖拽drag

    通过拖拽实现页面元素的位置改变 实现拖拽效果 源元素 - 要拖拽的文件 目标元素 - 要拖拽到哪里去 目前实现拖拽...

  • Flutter-GestureDetector的二维拖曳手势

    在实际的拖拽手势开发当中,我们可能会接触二维拖拽手势。二维拖拽手势是指,同时实现水平和垂直方向上移动。 二维拖拽手...

  • 拖拽,碰撞检测

    1. 拖拽 1.1 拖拽原理 鼠标拖拽效果的实现,就是在鼠标摁下和移动的时候,修改元素的定位值的效果。 1.1.1...

网友评论

      本文标题:php拖拽移动算法,php接口实现拖拽排序功能

      本文链接:https://www.haomeiwen.com/subject/xydlldtx.html