この記事では主に、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インターフェース実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。