>백엔드 개발 >PHP 튜토리얼 >PHP 인터페이스는 드래그 앤 드롭 정렬 기능 예제를 구현합니다.

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

不言
不言원래의
2018-05-03 15:05:551827검색

이 글은 주로 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]['id']   = $idArr[$i];
         $set[$i]['sort'] = $sortArr[$i];
     }    //保存到数据库省略}

관련 권장 사항:

WeChat 공개 계정 개발 모드 PHP 인터페이스 구현

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

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