>  기사  >  백엔드 개발  >  PHP 인터페이스를 사용하여 드래그 앤 드롭 정렬을 구현하는 단계에 대한 자세한 설명

PHP 인터페이스를 사용하여 드래그 앤 드롭 정렬을 구현하는 단계에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-05-16 14:47:241842검색

이번에는 PHP 인터페이스를 통해 드래그 앤 드롭 정렬을 구현하는 단계에 대해 자세히 설명하겠습니다. 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];
   }
  //保存到数据库省略
}

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

PHP7을 사용하여 MongoDB를 추가, 삭제, 수정 및 쿼리하는 단계에 대한 자세한 설명

PHP에서 Redis를 운영하는 단계에 대한 자세한 설명

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

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