ドラッグ&ドロップソート機能のPHPインターフェース実装例

不言
リリース: 2023-03-25 09:48:01
オリジナル
1806 人が閲覧しました

この記事では主に、PHP インターフェースによって実装されたドラッグ アンド ドロップの並べ替え機能の例を紹介します。これは、必要な友人に参照してもらうために共有します

リストのドラッグ アンド ドロップの並べ替え機能ですが、バックエンド インターフェイスをどのように処理するかが複雑な問題です。まず、10 個のデータがあるページを分析してみましょう。この 10 個のデータを前後にドラッグすることをドラッグといいますが、ドラッグするたびに他のデータが影響を受けますたとえば、最後の項目を前にドラッグすると、次の 9 個の項目が自動的に後ろに移動します。 、その逆も同様です、うーん~~~まず想像してください。ソート番号は固定されています。はい、椅子が 10 脚あるようなものです。各椅子はそこに固定されており、データに影響を与えないように、そこに座っている人は移動します。他のページでそして、各人が他の人のテーブルと椅子の番号を変更するので、何番目の番号を追加して順位を付ける必要があるかを考える必要はありません。


インターフェースデザイン

:

//$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];
     }    //保存到数据库省略}
ログイン後にコピー

関連する推奨事項:

WeChatパブリックアカウント開発モードPHPインターフェース実装

以上がドラッグ&ドロップソート機能のPHPインターフェース実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート