gpt4 book ai didi

php接口实现拖拽排序功能

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php接口实现拖拽排序功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

列表拖拽排序是一个很常见的功能,但是后端接口如何处理却是一个令人纠结的问题 。

如何实现才能达到效率最高呢?

先分析一个场景,假如有一个页面有十条数据,所谓的拖拽就是在这十条数据来来回回的拖,但是每次拖动都会影响到其他数据例如把最后一条拖到最前面,那么后面九条就自动往后移,反之也是,嗯~~~ 。

先想象一下,排序号是固定的,就好像有十把椅子,每个椅子都是固定在那里的,移动的是上面的人,这样就不会影响到其他页面的数据了而且每个人换的也是之前其他人的桌椅号码,这样也不用去想到底要加多少才能排在哪里.

接口设计:

//$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];   }  //保存到数据库省略}

总结 。

以上所述是小编给大家介绍的php接口实现拖拽排序功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

最后此篇关于php接口实现拖拽排序功能的文章就讲到这里了,如果你想了解更多关于php接口实现拖拽排序功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com