html官方网站,在线作图免费网站,现在出入邯郸最新规定,页面设计存在的问题目录
一#xff1a;实现思路
二#xff1a;实现步骤
二#xff1a;实现代码
三#xff1a;注意点 一#xff1a;实现思路
后台实现拖拽排序通常需要与前端进行配合#xff0c;对商品的列表拖拽排序#xff0c;前端需要告诉后端拖拽的元素和拖动的位置。
这里我们假…目录
一实现思路
二实现步骤
二实现代码
三注意点 一实现思路
后台实现拖拽排序通常需要与前端进行配合对商品的列表拖拽排序前端需要告诉后端拖拽的元素和拖动的位置。
这里我们假设商品列表有一个sort字段作为排序有10个商品标号1到10当移动1到6时我们要做的操作是把1号的sort更新为6把1到6包含6的5个元素sort减少1,这样2号变为1号6号变为5号sort还是连续的。同理把6号移动到2号时把2到6包含2的4个元素都增加1这样2号变为3号5号变为6号。这样我们的顺序也是连续的。
二实现步骤
1确定商品的数据结构包括商品ID、排序字段。 2当用户在前端页面上拖拽商品进行排序时前端应发送一个请求到后端该请求应包含以下信息被拖拽商品的ID、新的位置或排序权重。 3后端接收前端的请求根据请求中的商品ID和新的位置信息更新数据库中相应的商品记录。
二实现代码 $goodsId $request[goods_id] ?? 0; $sort $request[sort] ?? 0; $goodsData (new goodsModel())-where(id, $goodsId)-field(type,sort,pid)-find(); if (!$goodsData) { return true; } $cSort $goodsData[sort]; if ($sort $cSort) {//从上往下拖动 $sortList range($cSort1, $sort); if ($sortList) { if ($type field) { $sortWhere [[pid,,$goodsData[pid]],[sort,in,$sortList]]; } elseif ($type group) { $sortWhere [[type,,$goodsData[type]],[sort,in,$sortList]]; } (new goodsModel())-where($sortWhere)-dec(sort)-update(); } } else { $sortList range($sort, $cSort); if ($sortList) { if ($type field) { $sortWhere [[pid,,$goodsData[pid]],[sort,in,$sortList]]; } elseif ($type group) { $sortWhere [[type,,$goodsData[type]],[sort,in,$sortList]]; } (new goodsModel())-where($sortWhere)-inc(sort)-update(); } }
三注意点
这里我们使用sort作为排序要保证sort的连续性如果增加和删除了商品要实时的更新sort的值。