이번에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!