Maison  >  Article  >  développement back-end  >  Explication détaillée des étapes pour implémenter le tri par glisser-déposer à l'aide de l'interface PHP

Explication détaillée des étapes pour implémenter le tri par glisser-déposer à l'aide de l'interface PHP

php中世界最好的语言
php中世界最好的语言original
2018-05-16 14:47:241841parcourir

Cette fois, je vais vous apporter une explication détaillée des étapes pour implémenter le tri par glisser-déposer via l'interface PHP. Quelles sont les précautions pour implémenter le tri par glisser-déposer via l'interface PHP. . Voici un cas pratique, jetons un coup d'oeil.

Comment atteindre la plus grande efficacité ?

Analysez d'abord un scénario S'il y a une page avec dix éléments de données, le so-. appelé glisser-déposer consiste à faire glisser ces dix éléments de données d'avant en arrière, mais chaque glissement affectera d'autres données. Par exemple, si vous faites glisser le dernier élément de données vers l'avant, les neuf éléments de données suivants seront automatiquement déplacés vers le premier. en arrière, et vice versa, eh bien~~~

Imaginez d'abord que le numéro de tri est fixe, tout comme il y a dix chaises. Chaque chaise y est fixée, et la personne dessus est déplacée, pour qu'elle le soit. n'affecte pas les données sur d'autres pages et chaque personne change. Les chiffres sont également les numéros de table et de chaise d'autres personnes auparavant, vous n'avez donc pas à penser au nombre supplémentaire que vous devez ajouter pour arriver là où vous êtes classé.

Conception de l'interface :

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

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP. !

Lecture recommandée :

Explication détaillée des étapes d'ajout, de suppression, de modification et d'interrogation de MongoDB à l'aide de PHP7

Détaillé explication des étapes pour PHP exploitant Redis

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn