>  기사  >  백엔드 개발  >  PHP 인터페이스는 드래그 앤 드롭 정렬 기능을 구현합니다.

PHP 인터페이스는 드래그 앤 드롭 정렬 기능을 구현합니다.

不言
不言원래의
2018-04-23 15:00:182056검색

이 글은 주로 PHP 인터페이스의 드래그 앤 드롭 정렬 기능을 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 백엔드 인터페이스에서 자주 사용되는 기능입니다. 오늘은 드래그 앤 드롭 정렬 기능을 구현하기 위해 편집기를 가져왔습니다.

목록 드래그 및 드롭 정렬은 매우 일반적인 기능이지만 백엔드 인터페이스를 어떻게 처리해야 할까요? 그런데 얽힌 질문입니다


최고의 효율성을 달성하는 방법은 무엇입니까?먼저 시나리오를 분석해 보세요. 10개의 데이터가 있는 페이지에서 소위 드래그는 10개의 데이터 사이를 앞뒤로 이동하는 것입니다. 그러나 드래그할 때마다 다른 데이터에 영향을 미칩니다. 예를 들어 마지막 항목을 앞으로 드래그하면 다음 항목이 나타납니다. 9개의 항목은 자동으로 뒤쪽으로 이동하고 그 반대도 마찬가지입니다 ~~

먼저 정렬 번호가 고정되어 있다고 상상해보십시오. 의자가 10개 있고 거기에 각 의자가 고정되어 있으므로 그 위에 있는 사람이 움직입니다. 다른 페이지의 데이터에는 영향을 미치지 않으며, 각 사람은 이전에 상대방의 테이블과 의자 번호를 변경하므로 순위에 얼마나 추가해야할지 생각할 필요가 없습니다.

인터페이스 디자인:


//$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][&#39;id&#39;]  = $idArr[$i];
     $set[$i][&#39;sort&#39;] = $sortArr[$i];
   }
  //保存到数据库省略
}

관련 추천:

php 인터페이스 프로그래밍 상세 설명


위 내용은 PHP 인터페이스는 드래그 앤 드롭 정렬 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.