php介面實現拖拽排序步驟詳解

來源:互聯網
上載者:User
這次給大家帶來php介面實現拖拽排序步驟詳解,php介面實現拖拽排序的注意事項有哪些,下面就是實戰案例,一起來看一下。

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

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

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

介面設計:

//$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步驟詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.