Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Schritte zur Implementierung der Drag-and-Drop-Sortierung über die PHP-Schnittstelle

Detaillierte Erläuterung der Schritte zur Implementierung der Drag-and-Drop-Sortierung über die PHP-Schnittstelle

php中世界最好的语言
php中世界最好的语言Original
2018-05-16 14:47:241890Durchsuche

Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Implementieren der Drag-and-Drop-Sortierung über die PHP-Schnittstelle. Was sind die Vorsichtsmaßnahmen für die Implementierung der Drag-and-Drop-Sortierung über die PHP-Schnittstelle? . Hier ist ein praktischer Fall, werfen wir einen Blick darauf.

Wie erreicht man die höchste Effizienz?

Analysieren Sie zunächst ein Szenario. Wenn es eine Seite mit zehn Datenelementen gibt, wird das so- Drag & Drop heißt Ziehen Sie diese zehn Datenelemente hin und her, aber jedes Ziehen wirkt sich auf andere Daten aus. Wenn Sie beispielsweise das letzte Datenelement nach vorne ziehen, werden die nächsten neun Datenelemente automatisch verschoben zurück, und umgekehrt, naja~~~

Stellen Sie sich zunächst vor, dass die Sortiernummer feststeht, so wie es zehn Stühle gibt, die dort fixiert sind, und die Person darauf wird bewegt, so dass sie es tut hat keinen Einfluss auf die Daten auf anderen Seiten und jede Person ändert sich. Die Zahlen sind auch die Tisch- und Stuhlnummern anderer Personen zuvor, sodass Sie nicht darüber nachdenken müssen, wie viele weitere Sie hinzufügen müssen, um Ihren Rang zu erreichen.

Interface-Design:

//$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];
   }
  //保存到数据库省略
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Ausführliche Erläuterung der Schritte zum Hinzufügen, Löschen, Ändern und Abfragen von MongoDB mit PHP7

Ausführlich Erläuterung der Schritte für den PHP-Betrieb von Redis

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Implementierung der Drag-and-Drop-Sortierung über die PHP-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn