婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php接口實現拖拽排序功能

php接口實現拖拽排序功能

熱門標簽:四川保險智能外呼系統供應商 電話機器人銷售主要負責什么 房產中介用的是什么外呼系統 福建銀行智能外呼系統價格 遼寧ai電銷機器人價格 上海做外呼線路的通信公司 寧波外呼營銷系統 地圖標注專員怎么樣 長沙做地圖標注公司

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

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

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

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

接口設計:

//$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實現Google plus的好友拖拽分組效果
  • Js+php實現異步拖拽上傳文件

標簽:延安 常德 宜春 佛山 宿遷 工商登記 澳門 深圳

巨人網絡通訊聲明:本文標題《php接口實現拖拽排序功能》,本文關鍵詞  php,接口,實現,拖拽,排序,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php接口實現拖拽排序功能》相關的同類信息!
  • 本頁收集關于php接口實現拖拽排序功能的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 修水县| 湟中县| 东乡县| 阳江市| 维西| 罗源县| 平陆县| 林芝县| 北宁市| 大埔区| 缙云县| 涪陵区| 合川市| 堆龙德庆县| 正阳县| 南漳县| 庐江县| 仁布县| 临沧市| 林周县| 西吉县| 息烽县| 北海市| 密山市| 鄂托克旗| 安平县| 广丰县| 巴林右旗| 永德县| 章丘市| 沁阳市| 疏附县| 英吉沙县| 北票市| 陵水| 承德县| 怀柔区| 松潘县| 平利县| 溧阳市| 岳阳县|