方式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;
}
博客介绍了两种列表数据排序方式。一是数据多需分页时手动录入排序号;二是数据少无需分页,新增时后台自动将排序号设为自增ID值,通过上下拖动排序。排序完成后,点击保存按钮将所有记录ID按顺序提交后端处理。
964

被折叠的 条评论
为什么被折叠?



