国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php接口實現拖拽排序功能

2024-05-05 00:03:20
字體:
來源:轉載
供稿:網友

列表拖拽排序是一個很常見的功能,但是后端接口如何處理卻是一個令人糾結的問題

如何實現才能達到效率最高呢?

先分析一個場景,假如有一個頁面有十條數據,所謂的拖拽就是在這十條數據來來回回的拖,但是每次拖動都會影響到其他數據例如把最后一條拖到最前面,那么后面九條就自動往后移,反之也是,嗯~~~

先想象一下,排序號是固定的,就好像有十把椅子,每個椅子都是固定在那里的,移動的是上面的人,這樣就不會影響到其他頁面的數據了而且每個人換的也是之前其他人的桌椅號碼,這樣也不用去想到底要加多少才能排在哪里。

接口設計:

//$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接口實現拖拽排序功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 西青区| 天祝| 朝阳区| 阿克陶县| 弥勒县| 柳州市| 兴城市| 澜沧| 喀什市| 浙江省| 苍山县| 罗山县| 鹤壁市| 兴城市| 新源县| 城口县| 三门县| 全椒县| 宁晋县| 旌德县| 黑龙江省| 竹北市| 沂源县| 左云县| 修水县| 罗定市| 温泉县| 页游| 镇宁| 祁连县| 梨树县| 济宁市| 屏东县| 遂宁市| 仙游县| 榆中县| 托克逊县| 乐亭县| 江都市| 潞西市| 育儿|