Unfinishcode 2019-07-12
方式1:列表数据特别多,需要分页处理的,通过手录入排序号
方式二:列表数据少,不需要分页处理的。设计:新增时后台自动将排序号设置成自增ID值,新增/修改界面不显示排序。通过上下拖动实现排序
排序逻辑:排序完成后,点保存排序按钮,将所有记录的ID按排序后的先后顺序提交后端如ID:1,5,19,3,7,2,10.先将所有记录的排序升序取出来,依次赋值给ID
$idsString = implode(",", $ids); $sortArr = $model->getListSortFromId($idsString); foreach ($ids as $key => $id) { $data = [ 'sort' => $sortArr[$key] ]; $model->updateInfoByPk($data, $id); } public function getListSortFromId($ids) { $result = []; $sql = "SELECT sort FROM {$this->tableName} WHERE id in ($ids) ORDER BY sort ASC;"; $list = $this->conn->fetchAll($sql); foreach ($list as $info) { $result[] = $info['sort']; } return $result; }